【发布时间】:2014-06-19 09:01:13
【问题描述】:
我正在获取一个data.table:
DT <- data.table(num=c(1,4,6,7,8,12,13, 15), let=rep(c("A","B"), each=4))
然后我得到以下结果:
> sapply(DT, class)
num let
"numeric" "character"
没关系。
然后,添加一行:
DT<-rbind(DT, as.list(c(8, "B")))
然后:
> sapply(DT, class)
num let
"character" "character"
我发现 R 将第一个列类型更改为字符并且没想到会这样……我可以在之后将列更改为数字,但是如果我必须在每次插入后进行检查,那会很痛苦。
有没有没有这个缺点的添加线的方法?
【问题讨论】:
-
做
rbind(dt, list(8,"B"))可能是您正在寻找的。 (这篇文章的第二条评论:stackoverflow.com/questions/16652533/…)。 -
没错,我应该简单地使用
list...我采取了在这个链接上添加一行的方式!谢谢。
标签: r data.table