我在 R 中有一个 data.frame。我想使用循环和子集函数创建三个不同的 data.frame。我有一个很大的data.frame,但我需要的是下面的示例:
sex<-c("M","M","M","F","M","F")
age<-c(20,18,17,20,18,17)
name<-c("John", "Joseph", "Bill", "Sarah", "Robert", "Dana")
data<-data.frame(sex, age, name)
>data
sex age name
1 M 20 John
2 M 18 Joseph
3 M 17 Bill
4 F 20 Sarah
5 M 18 Robert
6 F 17 Dana
我想要的是:
>age17
sex age name
1 M 17 Bill
2 F 17 Dana
>age18
sex age name
1 M 18 Joseph
2 M 18 Robert
>age20
sex age name
1 M 20 John
2 F 20 Sarah
我可以使用以下命令:
>age17<-subset(data, data[,2]==17)
>age18<-subset(data, data[,2]==18)
>age20<-subset(data, data[,2]==20)
但是可以使用循环来减小命令的大小吗?