【发布时间】:2020-03-05 06:48:28
【问题描述】:
我正在尝试将 df1(汇总表)合并到 df2(主汇总表)中。 这是df2的快照,忽略随机42,只是终极问题的答案。 这是 df1 的示例。
最后,我有一个名为 Dates 的向量。这匹配作为 df2 列名的日期。 我正在尝试循环浏览 20 个文件,并收集该文件的摘要统计信息。然后我想将该数据输入 df2 以永久存储。我只需要输入 Earned 列。 我曾尝试使用合并,但由于它们没有共享列名,所以我无法使用。 我的下一个尝试是尝试这个。但它给出了一个错误,因为行号不相等。
df2[,paste(Dates[i])] <- cbind(df2,df1)
然后我想,如果我指定了确切的位置,它可能会起作用。
df2[1:length(df1$Earned),Dates[i]] <- df1$Earned
但这给出了错误“新列会在现有列之后留下孔” 所以我想再试一次,但使用 cbind。
df2[1:length(df1$Earned),Dates[i]] <- cbind(df2, df1$Earned)
##This gave an error for differing row numbers
df2 <- cbind(df2[1:length(df1$Earned),Dates[i]],df1$earned)
## This "worked" but it replaced all of df2 with df1$earned, so I basically lost the rest of the master table
任何想法将不胜感激。谢谢你。
【问题讨论】:
-
如果它们的长度不均匀且没有公共变量,则将它们存储在列表中更有意义。
-
列表的问题是我通过 for 循环运行它,而 df2 的最终产品将是一个三角形数据框。如果我要使用列表,我将如何跟踪该值对应的年份和日期。
-
您可以在列表中存储数据帧。如果所述数据帧具有您想要的 collums,您只需要堆叠方括号并使用双括号来取消列出元素 - 例如 list_1["DF_1"][["Collum_1"]] 将是一个向量