use*_*260 4 for-loop r dataframe
我有一组具有不同标题的dfs,我需要逐行绑定:我希望更改cols的名称,以便每个都具有相同的标题.
DF1
name, score
smith, 3
smith, 7
smith, 5
Run Code Online (Sandbox Code Playgroud)
DF2
type, price
food, 3
food, 5
food, 2.6
Run Code Online (Sandbox Code Playgroud)
我希望将它组合起来,使每个标题具有相同的标题并按行组合.我有32个这些数据帧都有不同的标题,所以我打算使用循环
我列出了dfs
groups <- c(df1, df2, df3, etc)
Run Code Online (Sandbox Code Playgroud)
然后尝试组合成一个空的df:
new_df <- data.frame(words=character(),numbers=numeric())
for (i in 1:length(groups))
{
x <- data.frame(words=character(),numbers=numeric())
x[,1] <- groups[i]
x[,2] <- groups[i+1]
new_df <- rbind(new_df, x)
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它只返回一个带有一堆警告的空df.谁能告诉我如何纠正这个?我期待new_df;
words, numbers
smith, 3
smith, 7
smith, 5
food, 3
food, 5
food, 2.6
Run Code Online (Sandbox Code Playgroud)
我相信对于比我更有经验的人来说这很容易.谢谢
你的32个data.frames为什么不能很好地组合在一起list?首先从野外捕捉它们:
dfList <- mget(paste0("df", 1:32))
Run Code Online (Sandbox Code Playgroud)
然后你可以使用lapply:
dfList <- lapply(dfList, setNames, nm = c("words", "numbers"))
Run Code Online (Sandbox Code Playgroud)
最后你们rbind:
DF <- do.call(rbind, dfList)
Run Code Online (Sandbox Code Playgroud)