2017-08-17 12 views
0

データセット内の第2のグループ化変数で数値カラムを分割し、次に数値カラムをバインドする方法が不思議でした。これは、dplyrの独立した関数の単純な拡張である可能性が最も高いでしょう。dplyrを使用した簡単なカラム分割と結合

Y <- rbind(2,5,3,6,3,2)  
Z <- rbind("A", "A", "A", "B", "B", "B") 
X <- data.frame(Y,Z) 

A B     
    2 6  
    5 3  
    3 2 

中に、そして、理想的に新しいベクターにrowMeansを抽出します。たとえば、以下のXを変更します。 (問題はまた、Zに1文字しかないときに発生します、与えられた行平均には2が必要です)。

これは、ZがA、B、およびCを有する場合、最終的なdata.frameは3つの列を必要とするなど、Z内の固有変数の数に基づいて無限に拡張可能である必要があります。これは私が行をキャプチャすることが可能になるZ.内のグループ事前に

おかげで無限の数から意味、 Conal

+2

ちょうど 'unstack(Z〜Y、X)' – Sotos

答えて

1

tidyr::spreadのための仕事のように見えます。

library(dplyr) 
library(tidyr) 

X2 <- X %>% 
    group_by(Z) %>% 
    mutate(ID = 1:n()) %>% 
    spread(Z, Y) %>% 
    select(-ID) 
X2 
# A tibble: 3 x 2 
     A  B 
* <dbl> <dbl> 
1  2  6 
2  5  3 
3  3  2 
+0

驚くべき、魅力的な作品 –

関連する問題