R:如何以仅取出一列中只有一个字符的行为条件对数据进行子集化

标签 r data-manipulation

我想知道如何根据一列是否包含一个字符或多个字符来取出数据帧的子集。

dt = data.frame(id = c(1,2,3),character = c("a", "a a", "b"), stringsAsFactors = F)
#           id                 character
#1          1                  a
#2          2                  a a
#3          3                  b

我想要得到的是字符列中只有一个字符的唯一那些行,即:

  #           id                 character
  #1          1                  a
  #3          3                  b

最佳答案

您的问题是 this 的变体解决方案。

根据您的问题,数据框子集可用于以下用途:

subsetDF <- dt[nchar(dt$character)==1, ]

关于R:如何以仅取出一列中只有一个字符的行为条件对数据进行子集化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38594252/

相关文章:

r - r 中比 sqldf 更快的任何其他进程

r - 如何在 R 中的一组不同的变量和模型上创建循环

string - 如何在同一行中多次拆分字符串?

python - 如何迭代 Pandas 中的列值并根据同一行中多列的值创建新的观察?

r:使用所有可能的选项和变量组合数量创建数据框

r - 我想 grep/gsub 空,空格和连字符,并将其替换为 R 中的 NA

r - source(..., chdir=TRUE) 似乎没有更改目录

C# 在 Deedle Frame 和 DataTable 之间转换

r - 在 timeDate 包中循环假期

r - 如果它们之间的所有值都是 NA,则在 R 中连接数据帧的两列?