【发布时间】:2021-09-19 18:10:24
【问题描述】:
这是一个基本的问题,但我被困住了: 代码取自这里:https://www.geeksforgeeks.org/list-of-dataframes-in-r/
我有这个长度为 2 的数据帧列表。
# Create dataframe
df1 = data.frame(
y1 = c(1, 2, 3),
y2 = c(4, 5, 6)
)
# Create another dataframe
df2 = data.frame(
y1 = c(7, 8, 9),
y2 = c(1, 4, 6)
)
# Create list of data frame using list()
listOfDataframe = list(df1, df2)
现在我希望这个列表成为data.frame 中的一列。由于我的列表长度为 2,我认为数据框应该有两行,因为我希望每个数据框基本上都在一行上。
所以我尝试以下方法:
df_list_col = data.frame(a = 1:2, listOfDataframe)
但我收到以下错误:
Error in data.frame(a = 1:2, listOfDataframe) :
arguments imply differing number of rows: 2, 3
我在这里错过了什么?
【问题讨论】:
-
将列表包裹在
I:d = data.frame(I(listOfDataframe));str(d) -
非常感谢!!这也有效,我只是不明白为什么这是必要的
-
如果您只执行
data.frame(listOfDataframe)然后您会看到 data.frame 有 3 行 4 列,您尝试做的是添加带有 2 行的“a”。列表长度在这里并不重要,重要的是列表中 data.frames 的行数。