gpt4 book ai didi

r - 将列添加到 R 中的空 data.table

转载 作者:行者123 更新时间:2023-12-03 10:38:25 25 4
gpt4 key购买 nike

要将新列添加到现有的空 data.table(版本 1.8.6),似乎无法在没有警告的情况下执行此操作。

例子:

dt<-old.table[0]
dt[,new_column:=""]

这会产生警告:
In '[.data.table'(dt, , ':='(new_column,"")):    
Supplied 1 items to be assigned to 0 items of column 'new_column' (1 unused)

有没有办法在没有警告的情况下添加新列?

最佳答案

好问题。分配一个空字符向量 ( character() ) 而不是长度为 1 的字符向量 ( "" )。

> DT = data.table(a=1:3,b=4:6)
> DT2 = DT[0]
> DT2
Empty data.table (0 rows) of 2 cols: a,b
> DT2[,newcol:=character()] # no warning
> DT2
Empty data.table (0 rows) of 3 cols: a,b,newcol
> sapply(DT2,class)
a b newcol
"integer" "integer" "character"

顺便说一句, ""[0]是另一种创建 0 长度字符向量的方法;输入比 character() 少 7 个字符但可能不太可读,这取决于您的喜好。

关于r - 将列添加到 R 中的空 data.table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13490299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com