【发布时间】:2015-07-23 08:56:48
【问题描述】:
我正试图将我的想法更多地转向应用 lapply 或函数,而不是连续循环。在这里,我有一个在循环中运行良好的代码 - 目标很简单:为列表的每个元素中的每一列命名。我想把它转换成一个函数,但我不能让它工作。
data1 <- data.frame(rnorm(10),rnorm(10),rnorm(10))
data2 <- data.frame(rnorm(10),rnorm(10),rnorm(10))
data3 <- data.frame(rnorm(10),rnorm(10),rnorm(10))
data <- list(data1,data2,data3)
for (i in 1:length(data)) {
names(data[[i]]) <- c("x", "y", "r")
}
这是我弄错的地方:
lapply(data, function(x) names(x) <- c("x", "y", "f"))
而且这个功能对我也不起作用:
givenames <- function (x) {
names(x) <- c("x", "y", "f")
}
lapply(data,givenames)
【问题讨论】:
标签: r list function loops lapply