【问题标题】:How to create a new column in an empty dataframe in R [duplicate]如何在R中的空数据框中创建新列[重复]
【发布时间】:2018-05-10 11:57:23
【问题描述】:

这是我的代码:

dfNbMatchSurface = data.frame()
print(dfNbMatchSurface)
dfNbMatchSurface$test <- "exp"
write.csv(dfNbMatchSurface, file = "NbMatchSurface.csv")

我想用一个空的新测试列创建一个空数据框并调用“exp”

怎么做?

我也试过这个:

dfNbMatchSurface = data.frame()
print(dfNbMatchSurface)
dfNbMatchSurface$test <- NA 
write.csv(dfNbMatchSurface, file = "NbMatchSurface.csv")

我有错误:

Error in `$<-.data.frame`(`*tmp*`, test, value = "exp") : 
  replacement has 1 row, data has 0

问候和感谢

【问题讨论】:

  • 什么是exp?...
  • @sotos 编辑感谢
  • 你可以这样做df &lt;- data.frame(test = NA)。请告诉我们您初始化一个空的data.frame 的预期目的,也许我们可以提供更好的建议。
  • 你可能想要 dfNbMatchSurface$exp

标签: r dataframe


【解决方案1】:

您可以使用character() 为变量分配一个类而不包含值(其他类也可以,例如factor()integer()numeric())。

df <- data.frame()
> df
data frame with 0 columns and 0 rows

df$var1 <- character()
> df
[1] var1
<0 rows> (or row.names with length 0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 2012-09-18
    • 1970-01-01
    • 2014-12-31
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    相关资源
    最近更新 更多