gpt4 book ai didi

r - 将数据添加到空 r data.frame

转载 作者:行者123 更新时间:2023-12-04 02:42:33 25 4
gpt4 key购买 nike

在 R 中,如果我用一列制作一个 data.frame,我可以添加其他列

> data <- data.frame(n=c(1:4))
> data
n
1 1
2 2
3 3
4 4
> data$n2 <- 2
> data
n n2
1 1 2
2 2 2
3 3 2
4 4 2

但是,如果我创建一个空的 data.frame,我就无法添加新列

> data <- data.frame()
> data
data frame with 0 columns and 0 rows
> data$n2 <- 2
Error in `$<-.data.frame`(`*tmp*`, "n2", value = 2) :
replacement has 1 row, data has 0

为什么?如何向空 data.frame 添加新列?

最佳答案

可以向一个空的data.frame添加一列,但是为了匹配现有data.frame的维度,分配的向量需要长度为零:

data <- data.frame()
data$n2 <- numeric()
data
# [1] n2
# <0 rows> (or 0-length row.names)

(在您的第一个示例中,虽然分配的 RHS 上的值与现有列的长度不同,但它被“回收”以形成必要长度的列。当现有的 data.frame虽然没有行,但不能使用回收来使列长度匹配。)

关于r - 将数据添加到空 r data.frame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19574996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com