Próbuję podzbiór ramki danych, gdzie otrzymuję wiele ramek danych na podstawie wartości wielu kolumn. Oto mój przykładR podzbiór ramki danych na wiele ramek danych na podstawie wartości wielu kolumn
>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
Oczekiwany wynik jest coś takiego, gdzie jestem dzieląc tę ramkę danych do wielu ramek danych w oparciu o kolumny v1
i 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
Napisałem kod, który działa teraz, ale nie myśl, że to najlepszy sposób na zrobienie tego. Musi być lepszy sposób na zrobienie tego. Zakładając, że tab
jest data.frame o początkowych danych. Oto mój kod:
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)
}
}
Czy ktoś może zaproponować lepszą metodę wykonania powyższych czynności?
Czy chcesz ponownie wykorzystać te ramki danych, czy też wydrukować je pogrupowane według tych kolumn? – Thilo
Chcę je ponownie wykorzystać ... chcę wykreślić wykresy na tych ramkach danych. –