r - 如何删除带有 NA 的元素

标签 r

我正在使用此函数从数据框中返回对的列表:

f <- function(x, n) sort(table(x), decreasing = TRUE)[1:n]


lapply(mypairlist, f, n = 3)

示例输出:

V18, NA     A12, NA     S21, NA 
290         155         45 

我不希望函数返回其中包含 NA 的对。我确信这真的很简单,但我不知道如何做到这一点。任何帮助将不胜感激。

我的输入数据如下所示:

ID       TopPair
123      V18, NA
124      V18, NA
125      V18, V21
126      A12, NA
127      A12, NA
128      V18, NA
129      A57, B43

我想要返回 V18、V21 和 A57、B43,而不是与 NA 配对。

最佳答案

假设“TopPair”是一个字符串列,我们可以使用grep来获取NA元素的索引

df1[!grepl("NA", df1$TopPair),]
#   ID  TopPair
#3 125 V18, V21
#7 129 A57, B43

关于r - 如何删除带有 NA 的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45510523/

相关文章:

regex - sub 返回不正确的数据

r - 将数据框子集放入列表中

r - 随时间变化的条件计数?

R 通过将列名与字符串列表匹配来重新排序矩阵列

sql - 使用 quantmod 在 R 中定制新的交易策略

r - 如何在 capscale 函数中仅输入环境变量作为因子(而不是连续变量)?

r - 使用 `accumulate` 将列表中的数据帧反连接到原始先前的数据帧

r - 如何使用 dplyr 将累积列添加到 R 数据帧?

r - 累积值 : for loop to Reduce

r - fread、data.table 中的小数点设置