如何在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 <- 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 语言在基于多个二进制变量的数据框中创建新变量?
如何根据 Python Pandas 中的其他列在 DataFrame 中创建新列? [复制]
如何在 pyspark 中创建新列,其中条件取决于列的后续值?