【发布时间】:2016-06-03 23:20:09
【问题描述】:
我需要像这样子集数据:
a1 <- data[,grep("a_cool_[1-3]*", names(data))]
a2 <- data[,grep("word_an[1-3]*", names(data))]
a3 <- data[,grep("word_ne[1-3]*", names(data))]
a4 <- data[,grep("word_an[1-3]*", names(data))]
a5 <- data[,grep("word_sam[1-3]*", names(data))]
a6 <- data[,grep("word_snap[1-3]*", names(data))]
a7 <- data[,grep("word_app[1-3]*", names(data))]
我认为可以使用其他函数(例如 `*apply() 系列函数)简化此过程,但我不确定如何。
【问题讨论】:
-
您如何向我们展示
data中包含的内容或至少在您调用names(data)时输出的内容? -
欢迎来到 StackOverflow。请提供minimal reproducible example
-
lapply(c("a_cool_", "word_an", "word_ne", "word_an", "word_sam", "word_snap", "word_app"), function(x){data[, grep(paste0(x, "[1-3]*"), names(data))]})