【发布时间】:2017-03-28 21:41:28
【问题描述】:
如果任何其他变量名称中存在a 或A,我想使用以下示例创建一个新变量x:
structure(list(A = 10L, a = 20L, abc = 1L), .Names = c("A", "a", "abc"),
class = "data.frame", row.names = c(NA, -1L))
结果应该是这样的:
structure(list(A = 10L, a = 20L, abc = 1L, x = 31L), .Names = c("A", "a",
"abc", "x"), class = "data.frame", row.names = c(NA, -1L))
我尝试通过以下方式完成此操作:
names1$x[grep("a" | "A", colnames(names1))]
导致以下错误:
““a”|“A”中的错误:操作只能用于数字、逻辑或复杂类型”
我也尝试只匹配a,但这导致NULL。
【问题讨论】:
-
试试
if (grep("a|A", colnames(names1))) names1$x<-31。
标签: r string-matching