下面的数据集只是 100 行数据集的前 8 行。
>a
group marks upd
2 C 3 up
3 C 4 down
6 C 7 up
1 T 2 up
4 T 5 up
5 T 6 down
7 T 1 middle
8 T 0 down
我使用 unique_groups=unique(a$group) 来获取要发送到函数的唯一组名列表。
现在,我需要一个函数,它给出这个数据集的一个子集,它从 unique_groups 中获取每个组,并检查“upd”是否在 ('down','middle') 中,并给我一个数据集,其中只有那些记录有 upd (' down','middle') 的相应组。
我尝试使用 do.call 函数来获取我想要的数据集 -
do.call(rbind,sapply(unique_groups,FUN=function(y) { h=a[aupd %in% c('down','middle'),] h } , 简化=F))
我没有得到我想要的数据集,它给出了这个警告信息:
在==.default(a$group, x) :较长的对象长度不是较短对象长度的倍数