我想從R保存data.frame,以便它可以從Excel中讀取。我用其他幾個與我現在提到的結構相同的數據框完成了這一工作,至今沒有任何問題。但由於某種原因,當我嘗試保存此數據框架並使用Excel打開它時,Excel中沒有讀取FreqDev和LengthDev列中的許多數值。相反,這些行顯示一串「#」符號。Excel錯過了數值向量與write.table函數在R
我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可讀數據框架的建議都非常受歡迎。
在此先感謝。
用文本編輯器打開'RegPartV',確定問題出在Excel還是R.我的錢在Excel上。 – hadley
用記事本打開時導出的文件內容是什麼? –
@hadley問題的確在Excel中。如果我用文本編輯器打開文件,我會看到所有正確的信息。可悲的是,我需要excel,因爲我需要將信息放在不同的單元格上,並且使用文本編輯器打開它只是爲我提供了原始數據。 Jüri,我想這也回答你的問題。使用記事本可正確顯示信息。 – HernanLG