我有一个数据集,我希望根据三个变量将其分成多个数据集以供进一步分析。数据集如下所示:
tooth side site probe1 probe2
11 facial mesial 2 2
12 lingual distal 4 1
13 lingual mesial 1 9
我希望根据牙齿,侧面和部位将数据分组为3个数据集。
我设法编写了一个函数来执行此操作,但是我希望为每个单独的数据集指定名称。
each<- function(x){
tooth<-unique(x$tooth)
side<-unique(x$side)
site<-unique(x$site)
for i in 1:length(tooth){
for j in 1:length(side){
for k in 1:length(site){
subset(x,tooth==tooth[i] & side==side[j], & site==site[k]))
}
}}}
不幸的是
答案 0 :(得分:0)
您只需要split
:
split(x, list(x$tooth, x$side, x$site))
其中x
是您的原始数据框。