2017-11-26 15 views
1

私はv1の一意の値にDの基点のサブセットを作成したいと思い、この一意の値によってサブセット

v1 <- c(1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3) 
v2 <- c(2.2, 3.2, 1.2, 4.2, 2.2, 3.2, 2.2, 1.2, 5.2) 
v3 <- c("a","a","a","b","b","b","c","c","c") 
d <- data.frame(v1,v2,v3) 

などのDBをしました。 誰も助けることができますか?

+0

'スプリット(D、Dの$ V1を)' data.frames分割のリストになりますv1で – CPak

答えて

1

あなたはそのためsplit -functionを使用することができます。

split(d, d$v1) 

結果:

> split(d, d$v1) 
$`1` 
    v1 v2 v3 
1 1 2.2 a 
2 1 3.2 a 
3 1 1.2 a 

$`2` 
    v1 v2 v3 
4 2 4.2 b 
5 2 2.2 b 
6 2 3.2 b 

$`3` 
    v1 v2 v3 
7 3 2.2 c 
8 3 1.2 c 
9 3 5.2 c 
+0

ありがとう!しかし、同じ関数(例えば、rowSums(サブセット[1:10])をすべてのデータフレーム分割に適用する方法は? – sarovasta

+0

@sarovastaあなたは 'split'がリストを返すように' lapply'を使うことができます – h3rm4n

+0

申し訳ありません、didn具体的な例を使って説明できますか? – sarovasta

関連する問題