遍历R中的模式grep函数

用户0590

我是R的新手。我想为R中的以下代码编写循环。

day1<-XYZ[, -grep("_0", colnames(XYZ))]
day2<-XYZ[, -grep("_0|_1", colnames(XYZ))]
day3<-XYZ[, -grep("_0|_1|_2", colnames(XYZ))]
day4<-XYZ[, -grep("_0|_1|_2|_3", colnames(XYZ))]
day5<-XYZ[, -grep("_0|_1|_2|_3|_4", colnames(XYZ))]
day6<-XYZ[, -grep("_0|_1|_2|_3|_4|_5", colnames(XYZ))]
day7<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6", colnames(XYZ))]
day8<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7", colnames(XYZ))]
day9<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8", colnames(XYZ))]
day10<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8|_9", colnames(XYZ))]
day11<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8|_9|_10", colnames(XYZ))]
day12<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8|_9|_10|_11", colnames(XYZ))]
day13<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8|_9|_10|_11|_12", colnames(XYZ))]
day14<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8|_9|_10|_11|_12|_13", colnames(XYZ))]
day15<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8|_9|_10|_11|_12|_13|_14", colnames(XYZ))]
day16<-XYZ[, -grep("_0|_1|_2|_3|_4|_5|_6|_7|_8|_9|_10|_11|_12|_13|_14|_15", colnames(XYZ))]

提前致谢!!

阿克伦

我们可以使用lapply和创建子集中的子集list

lst <- lapply(0:15, function(x) XYZ[, -grep(paste("_", 0:x, collapse="|",
          sep=""),  colnames(XYZ))])
names(lst) <- paste0("day", 1:16)

最好不要在全局环境中创建多个对象。但是,如果我们是为了探索

i1 <- 0:15
for(i in seq_along(i1)) {
    assign(paste0("day", i), 
        value = XYZ[, -grep(paste("_", 0:i1[i], collapse="|", sep=""), colnames(XYZ))])
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章