假设我有一组数据框:
我该如何对我所拥有的所有四个数据帧进行此操作?我想我需要将这些数据帧合并成一个
df1, df2, d3, df4
。我想对每个数据框应用某种行为。为了避免重复编写代码,我想通过某种for循环来实现。例如,假设我想获取df并重新分配它,以便第一列成为行名称。我通常会这样做:df1_b <- df1[,-1]
rownames(df1_b) <- df1[,1]
我该如何对我所拥有的所有四个数据帧进行此操作?我想我需要将这些数据帧合并成一个
set
,然后执行类似以下的操作:for (i in set) {
i+"_b" <- i[,-1]
rownames(i_b) <- i[,1]
}
我试着用cbind来做这件事:
df_set <- c(df1, df2, df3, df4)
for (i in df_set) {
i+"_b" <- i[,-1]
rownames(i_b) <- i[,1]
}
当然,这不起作用(我很确定R不能像这样进行字符串连接)。
任何帮助都将不胜感激!
paste(i, "b", sep = "_")
。但最好还是创建一个数据框列表,并使用lapply
或purrr::map
进行迭代。已经有很多关于这方面的SO帖子了。 - camille