मेरा डेटा अवलोकन का आदेश दिया गया है और मैं मैनिपुलेशन करते समय जितना संभव हो ऑर्डर करना चाहता हूं।tidyr में लागू सॉर्टिंग :: स्प्रेड और dplyr :: सारांश
this question के लिए उत्तर लें, मैंने डेटाफ्रेम में "ए" से पहले "बी" रखा है। परिणामी विस्तृत डेटा कॉलम "नाम", यानी, "ए" पहले, फिर "बी" द्वारा क्रमबद्ध किया जाता है।
df = data.frame(name=c("B","B","A","A"),
group=c("g1","g2","g1","g2"),
V1=c(10,40,20,30),
V2=c(6,3,1,7))
gather(df, Var, Val, V1:V2) %>%
unite(VarG, Var, group) %>%
spread(VarG, Val)
name V1_g1 V1_g2 V2_g1 V2_g2
1 A 20 30 1 7
2 B 10 40 6 3
क्या मूल आदेश रखने का कोई तरीका है?
name V1_g1 V1_g2 V2_g1 V2_g2
1 B 10 40 6 3
2 A 20 30 1 7
04/02 संपादित करें: इस तरह मैं सिर्फ पाया है dplyr::summarise
रूप में अच्छी तरह छँटाई करता है। arrange(name, df$name)
अभी भी ऑर्डर को पुनर्स्थापित करने के लिए काम करता है। लेकिन मुझे आश्चर्य है कि पैकेज के डिजाइन से अतिरिक्त सॉर्टिंग आवश्यक है?
df %>%
group_by(name) %>%
summarise(n()) %>%
name n()
1 A 2
2 B 2
दिलचस्प। ऐसा लगता है कि फैल चरण के दौरान, "नाम" चर के लिए कारक स्तर भी बदल जाता है .... – A5C1D2H2I1M1N2O1R2T1