【发布时间】:2016-12-02 05:33:16
【问题描述】:
我可以在 data.frame 中添加列:
x <- head(iris)
y <- x[1:nrow(x) > 7, ]
x[c('NewCol1', 'NewCol2')] <- rep(c('a', 'b'), each = nrow(x))
对于0行的data.frame,它不起作用:
# > y
# [1] Sepal.Length Sepal.Width Petal.Length Petal.Width Species
# <0 rows> (or 0-length row.names)
y[c('NewCol1', 'NewCol2')] <- rep(c('a', 'b'), each = nrow(y))
# Error in value[[jvseq[[jjj]]]] : subscript out of bounds
我找到了这个,Add Columns to an empty data frame in R,但没有多大帮助。
预期输出:
# > y
# [1] Sepal.Length Sepal.Width Petal.Length Petal.Width Species NewCol1 NewCol2
# <0 rows> (or 0-length row.names)
【问题讨论】:
-
我看不出
y是如何成为一个空数据框的。它有内容。你能详细说明你在这里想要做什么吗? -
@TimBiegeleisen,对此感到抱歉。我编辑了问题。
-
@RonakShah。我想向 y 添加 2 个新列。
-
@RonakShah,是的。我添加了预期的输出。