R中的奇怪行为 - 将单元格中的值添加到新创建的行中

时间:2015-08-18 15:09:10

标签: r

我正在使用代码,一切运行正常,但是当我将一些值大于4时,会发生错误(错误=新列会在现有列之后留下漏洞)。

为了简化我使这段代码重现了这种奇怪的行为。

strange <- function(number = 1, order = 1) {
    df <- data.frame(0, order, NA)
    colnames(df) <- c(number, "order", "diff")
    #Next line throws an error when number > 4
    df[nrow(df) + 1, number] <- 1
    print(paste0("Number ", number, " ran fine"))
    return(df)
}

for (i in 1:10) df <- strange(number = i)

在输入此问题时,我会弄清楚如何停止错误,但我不明白为什么strange()仅在数字&lt; = 4时有效。

使用我刚刚更改为的任何数字:

df[nrow(df) + 1, as.character(number)] <- 1

0 个答案:

没有答案