如果我想避免for循环(并使用lapply或do.call代替),我如何合并下面的数据框(在我的情况下cbind实际上不是一个选项)。 我有一个给定的“基础”数据框和一个创建几个要添加的数据帧的函数。
set.seed(1)
# creates example data frames
newCol <- function(x) {
add_df <-data.frame("nr" = 1:5, runif(1))
colnames(add_df)[2] <- x
return(add_df)
}
# for-version - gives wanted result, but with for
df_base <- newCol("A")
for (x in x_vec) {
df_base <- merge(df_base, newCol(x), on = "nr")
}
print(df_base)
# cbind - creates unnecessary "nr"-columns
df_base <- newCol("A")
do.call(cbind, lapply(x_vec, newCol))
# want: solution with merge (!) and lapply/do.call
Thx&amp;亲切的问候