我正在尝试从 R 中保存一个 data.frame,以便可以从 Excel 中读取它。我已经使用其他几个与我现在提到的具有相同结构的 data.frames 完成了此操作,到目前为止没有问题。但是由于某种原因,当我尝试保存这个 data.frame 然后用 Excel 打开它时,Excel 无法读取列 FreqDev 和 LengthDev 中的许多数值。相反,这些行显示一串“#”符号。
我的 data.frame 看起来像这样:
head(RegPartV)
LogFreq Word PhonCV WordClass FreqDev LengthDev Irregular
1277 28.395 geweest CV-CVVCC V 5.464336 -1.1518498 FALSE
903 25.647 gemaakt CV-CVVCC V 4.885296 -1.1518498 FALSE
752 23.304 gehad CV-CVC V 4.391595 -2.1100420 FALSE
610 22.765 gebracht CV-CCVCC V 4.278021 -0.6727537 FALSE
1312 22.041 gezegd CV-CVCC V 4.125465 -1.6309459 FALSE
647 21.987 gedaan CV-CVVC V 4.114086 -1.6309459 FALSE
data.frame 中的信息类型为:
str(RegPartV)
'data.frame': 2096 obs. of 7 variables:
$ LogFreq : num 28.4 25.6 23.3 22.8 22 ...
$ Word : chr "geweest" "gemaakt" "gehad" "gebracht" ...
$ PhonCV : chr "CV-CVVCC" "CV-CVVCC" "CV-CVC" "CV-CCVCC" ...
$ WordClass: Factor w/ 1 level "V": 1 1 1 1 1 1 1 1 1 1 ...
$ FreqDev : num 5.46 4.89 4.39 4.28 4.13 ...
$ LengthDev: num -1.152 -1.152 -2.11 -0.673 -1.631 ...
$ Irregular: logi FALSE FALSE FALSE FALSE FALSE FALSE ...
奇怪的是,如果我将鼠标放在现在只有 # 符号的数字单元格上(在 excel 文件中),我会看到原始 R data.frame 中曾经存在的数字的痕迹。例如,data.frame 中第一行的这些列的值是:
>RegPartV[1,c(5,6)]
FreqDev LengthDev
1277 5.464336 -1.15185
如果我将鼠标放在与我刚刚显示的相同值相对应的 Excel 单元格(仅包含 # 符号)上,我会看到:
54643356148468
和
-115184982188519
所以数字仍然存在,但由于某种原因,R 或 Excel 都无法计算小数点所在的位置。
我用来保存 data.frame 的方法(以及我用于结构等效的 data.frame 的方法)是:
write.table(RegPartV,file="RegPartV",quote=F,sep="\t",row.names=F,col.names=T)
然后我用 Excel 打开文件,我希望看到那里的所有信息,由于某种原因,我在这个特定的 data.frame 中遇到了这个数字问题。
非常欢迎任何有关获得 Excel 可读 data.frame 的建议。
提前致谢。