【发布时间】:2020-09-24 11:56:42
【问题描述】:
我有一个数据框列表,我想将一个函数应用于特定列,这些列遵循列表中所有数据框的模式。
这是数据框的示例列表:
k_2 <- data.frame(Site = c(rep("A",3), rep("B",2)), V1 = c(1,2,3,4,5), V2 = c(1,2,3,4,5))
k_3 <- data.frame(Site = c(rep("A",3), rep("B",2)), V1 = c(1,2,3,4,5), V2 = c(1,2,3,4,5), V3 = c(1,2,3,4,5))
k_4 <- data.frame(Site = c(rep("A",3), rep("B",2)), V1 = c(1,2,3,4,5), V2 = c(1,2,3,4,5), V3 = c(1,2,3,4,5), V4 = c(1,2,3,4,5))
my.list <- list(k_2, k_3, k_4)
my.list
我想申请这个
k2_res <- ddply(k_2, "Site", function(x) colSums(x[c("V1", "V2")])/nrow(x))
到列表中的所有数据框。但是,对于 K_3,计算需要为 colSums(x[c("V1","V2","V3")]),而 k_4 将上升到 V4,依此类推。
想法
我想也许我可以使用某种grep 或regrex 来自动选择所有以V 开头的列?
【问题讨论】:
标签: r regex list function dataframe