1
收集值的分佈說我有這個數據幀:如何輕鬆R中重塑數據的關鍵
> df = structure(list(one = structure(c(1L, 1L, 1L, 2L, 2L, 2L), .Label = c("A", "B"),class = "factor"), two = 1:6),.Names = c("one", "two"),row.names = c(NA, -6L),class = "data.frame")
> df
one two
1 A 1
2 A 2
3 A 3
4 B 4
5 B 5
6 B 6
並希望將其重塑這個:
A B
1 4
2 5
3 6
你可以假設列「one」中每個唯一元素的行數相等。
我能夠做到這一點,如下所示:
library(tidyr)
df = cbind(df,index=c(1:3,1:3))
spread(df,key = one,value= two)[,-1]
但是,這感覺就像一個黑客攻擊的一位,因爲它使用的數據重塑認爲,這項結果行觀察功能和對值每一行都有一定的關係。在這個解決方案中,我通過添加索引來改變這種關係,這些索引允許重塑以我想要的方式進行。這就要求我刪除這些附加信息。不感覺乾淨。
所以我的問題是,是否有一個功能或簡單的單線程,以更直接的方式做我想做的事情?
不錯!...給誰就給誰只是downvoted它,有什麼不好呢? – Patrick
不錯的解決方案.. – user20650