4

我有一个数据框

a = data.frame("a"=c(1,2,3,NA,NaN,6),"b"=c(NA,NA,NaN,1,2,3),"c"=c(1,2,NA,NA,5,6))

我正在将其写入文件

write.table(a,file="t.txt",row.names=FALSE,quote=FALSE,sep="\t")

它将“NaN”转换为“NA”。我想保留原始值。我怎样才能做到这一点?我想在我的 t.txt 中保留 NaN 和 NA。但我在我的 t.txt 中得到了所有的 NA

4

1 回答 1

8

我不确定有没有办法直接做到这一点,但您始终可以将列转换为字符,然后编写它(因为您使用的是quote=FALSE)。

> a[] <- lapply(a, as.character)
> write.table(a,file="t.txt",row.names=FALSE,quote=FALSE,sep="\t")
> str(read.table("t.txt",header=TRUE))
'data.frame':   6 obs. of  3 variables:
 $ a: num  1 2 3 NA NaN 6
 $ b: num  NA NA NaN 1 2 3
 $ c: int  1 2 NA NA 5 6
于 2013-09-30T14:31:32.297 回答