【发布时间】:2019-12-05 10:40:19
【问题描述】:
我有一个这样的数据框:
df <- data.frame(ticker = c("1TM", "ABL", "ABLIDD", "ABO", "ABSP", "ABT", "ACL", "ACLSTB", "ANGSBH", "ANM"))
我想选择代码列中字符数等于 3 的行。如何使用 subset 或 dplyr::filter() 执行此操作?
【问题讨论】:
我有一个这样的数据框:
df <- data.frame(ticker = c("1TM", "ABL", "ABLIDD", "ABO", "ABSP", "ABT", "ACL", "ACLSTB", "ANGSBH", "ANM"))
我想选择代码列中字符数等于 3 的行。如何使用 subset 或 dplyr::filter() 执行此操作?
【问题讨论】:
使用基本的 R 代码,您可以像这样使用 nchar 函数:
df[nchar(as.character(df$ticker))==3,]
【讨论】:
dplyr::filter(df, nchar(as.character(ticker))==3)
仅当列当前是因子时才需要 as 字符。
【讨论】: