【发布时间】:2020-02-26 15:19:18
【问题描述】:
下面是我的示例。
Name <- c("HU-5-A", "HU-6-C", "CE-5-A", "LE-3-C", "LE-4-A", "CE-9-B")
x <- c(rnorm(6))
y <- c(rnorm(6))
df <- data.frame(cbind(Name, x, y))
我想过滤我的 df,但只过滤 Name 列中的公共部分,因此结果将是
Name x y
LE-3-C 0.6087576 2.3199352
LE-4-A 0.4040382 0.1556805
感谢您的帮助。
【问题讨论】:
-
df[grepl("^LE", df$Name),]或dplyr::filter(df, grepl("^LE", df$Name)) -
使用像@r2evans 这样的正则表达式似乎是最直接的。您还可以使用字符串函数拆分
df$Name列,然后按“常见”部分进行分组。 -
你的意思是按前两个字母分组吗?
split(df, substr(df$Name, 1, 2))
标签: r data-representation