我想要一個數據框子集,其中我得到基於多個列值的多個數據幀。這是我的例子R基於多個列值將數據幀分成多個數據幀
>df
v1 v2 v3 v4 v5
A Z 1 10 12
D Y 10 12 8
E X 2 12 15
A Z 1 10 12
E X 2 14 16
預期輸出是這樣的我在哪裏分裂這個數據幀爲基於v1
列中的多個數據幀和v2
>df1
v3 v4 v5
1 10 12
1 10 12
>df2
v3 v4 v5
10 12 8
>df3
v3 v4 v5
2 12 15
2 14 16
我已經寫了這是工作守則現在,但不認爲這是做到這一點的最佳方式。必須有更好的方法來做到這一點。假設tab
是具有初始數據的數據幀。這是我的代碼:
v1Factors<-levels(factor(tab$v1))
v2Factors<-levels(factor(tab$v2))
for(i in 1:length(v1Factors)){
for(j in 1:length(v2Factors)){
subsetTab<-subset(tab, v1==v1Factors[i] & v2==v2Factors[j], select=c("v3", "v4", "v5"))
print(subsetTab)
}
}
有人可以建議一個更好的方法來做到上述?
你想重用這些數據框,還是隻打印它們按這些列分組? – Thilo 2013-03-13 04:45:52
我想重複使用它們....想要在這些數據框上繪製圖表。 – 2013-03-13 04:46:37