我正在使用 fwrite
将数据表写入 csv。该函数将一列的类从字符更改为整数,并删除了起始零,这是我不想要的。所以我的 var2 是字符,我想通过 fwrite 保留它,然后 fread 一个子集。
但是,我得到的是以下内容:
head(DT)
var1 var2
1 "0012"
2 "0032"
3 "0043"
DT1 <- DT[var1!=2,]
fwrite(DT1,"DT1.csv", row.names=FALSE)
然后:
DT1 <- fread("DT1.csv")
head(DT1)
var1 var2
1 12
3 43
有什么办法可以解决吗?
最佳答案
问题出在 fread
而不是 fwrite
。因此,只需指定 var2
是一个 character
类即可。 fread
中的默认值是检测到 var2
是一个 numeric
列,因此只需在对 fread
的调用中添加以下内容即可:
DT1<-fread("DT1.csv", colClasses = list(character=c("var2")))
请告诉我这是否适合您,祝你好运!
关于r - data.table 中的 fwrite 将我的字符串列更改为整数,如何修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56245205/