如何在R中的空数据框中创建新列[重复]

Posted

技术标签:

【中文标题】如何在R中的空数据框中创建新列[重复]【英文标题】:How to create a new column in an empty dataframe in R [duplicate] 【发布时间】: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 【参考方案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)

【讨论】:

以上是关于如何在R中的空数据框中创建新列[重复]的主要内容,如果未能解决你的问题,请参考以下文章

通过分解另一个变量在R中创建新变量[重复]

如何使用 R 语言在基于多个二进制变量的数据框中创建新变量?

如何根据 Python Pandas 中的其他列在 DataFrame 中创建新列? [复制]

如何在 pyspark 中创建新列,其中条件取决于列的后续值?

根据其他列中的值在 python 3 (pandas) 数据框中创建新列

基于一百列对在 Spark 数据框中创建新列