繁体   English   中英

根据列的长度删除R中的行

[英]Delete rows in R based on length of a column

我在R中有一个数据集,该数据集包含4列:龟孵化场的大小,巢数,年份,海滩。

我想创建一个新的数据框,不包括我测量不到10头孵化场的巢。 因此,对于“年”,“海滩”和“嵌套”的唯一组合,我需要根据列大小的长度排除行。 谢谢。

我们可以使用data.table 将'data.frame'转换为'data.table'( setDT(df1) ),按'Year','Beach','Nest'分组,我们对“ Hatchling_Number”的unique元素length较大的组进行子集化等于或等于10

library(data.table)
setDT(df1)[, if(uniqueN(Hatchling_Number)>=10) .SD, by = .(Year, Beach, Nest)]

或者,如果每个组中没有重复的“ Hatchling_Number”,我们可以使用.N >=10进行子设置。

setDT(df1)[, if(.N >=10) .SD, by = .(Year, Beach, Nest)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM