【问题标题】:R - Add a column of data to an existing column in a dataframe [duplicate]R - 将一列数据添加到数据框中的现有列[重复]
【发布时间】:2019-04-22 08:03:52
【问题描述】:

我正在尝试弄清楚如何一次将更多数据附加到现有数据帧一列。例如:我有这个数据框:

df <- data.frame("x" = c(1, 2, 3, 4, 5), "y" = c(0.255, 0.236, 0.587, 0.369, 0.789))

这是我要附加的其他数据。我想将 x2 添加到 x 列的底部,然后将 y2 添加到 y 列的底部。

x2 <- c(6, 7, 8, 9, 10)
y2 <- c(0.236, 0.963, 0.356, 0.489, 0.333)

这就是我希望数据框之后的样子。

x      y
1  0.255
2  0.236
3  0.587
4  0.369
5  0.789
6  0.236
7  0.963
8  0.356
9  0.489
10 0.333

【问题讨论】:

标签: r dataframe


【解决方案1】:

在追加数据时,您需要确保列名相同。

在你的情况下:

df2 <- data.frame(x2, y2)   #creating a dataframe
names(df2) <- names(df)     #changing the column header names as this is a requirement for append

df <- rbind(df, df2)    #appending

【讨论】:

  • 如果适用,请提供欺骗而不是发布答案。
【解决方案2】:

这应该可以解决问题,除非我遗漏了什么:

df <- data.frame("x" = c(1, 2, 3, 4, 5), "y" = c(0.255, 0.236, 0.587, 0.369, 0.789))

将要添加的数据的名称更改为与原始数据框相同的名称

x <- c(6, 7, 8, 9, 10)
y <- c(0.236, 0.963, 0.356, 0.489, 0.333)
df2 <- bind_cols(list(x = x, y = y))
df3 <- bind_rows(list(df, df2))

【讨论】:

  • 上面的代码可以同时输入多个 df/tibbles,而不需要使用 do.call 循环。如下所示,数据框之间的名称需要保持不变,以便它们对齐。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 2016-11-29
  • 2017-10-17
  • 1970-01-01
  • 2021-09-13
  • 2014-12-28
相关资源
最近更新 更多