我需要一些关于如何在R中启动实现问题的帮助。我有一个数据框,其中的行由变量“id”分组。对于每个'id'我只想保留一行。但是,我有许多标准来指定要删除哪些行。R根据各种标准删除行
这些都是我的一些标准:
- 我想保持它有“文本” = NA(可能有几个这样的行)各组“身份证”中的一个随机行;而且我也想保留该行的所有列,对于所有以下标准也是如此。
- 如果一个组中的所有行都有'text'== NA,那么我想保留一个随机行,它具有变量'check'== T(可能有几个这样的行)
- 如果所有行都在一个组具有'文本'== NA和'检查'== F,那么我想保留具有符合条件的变量'newtext'的行(grepl(“None”,df $ newtext))
我也可以提供一个数据集,如果这使得它更清晰。但是,我最重要的问题是,我不知道如何按照有序数量的条件来实现这种删除行的逻辑。 这将是很好,如果任何人都可以告诉我如何实现这样的代码。
谢谢!
这将是一个例子的数据集:
df <- data.frame(id = c(1,1,1,2,2,2,3,3,3),
text=c("asd",NA,"asd",NA,NA,NA,NA,NA,NA),
check = c(T,F,T,T,T,F,F,F,F),
newtext =
c("as","as","as","das","das","None","qwe","qwe2","None"),
othervars = c(1,2,3,45,5,6,6,7,1))
作为输出,我想保持下面的行: 行1或3 第4行或5 行7或8个 列othervars应保留以及我稍后需要这些信息。
希望这可以让它更清晰一些。
如果您可以提供数据集或数据集的相关部分,那将会很好。这将为我们节省大量时间来编写任何可以在我们众多条件下实现的代码。 –
我添加了一个最小的数据集。希望这可以帮助! – Rnewbie