Я пытаюсь подмножить фрейм данных, где я получаю несколько кадров данных на основе нескольких значений столбцов. Вот мой пример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
- это data.frame с исходными данными. Вот мой код:
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
Я хочу их повторно использовать .... хочу строить графики на этих кадрах данных. –