-1

Excelから読み取れるように、Rからdata.frameを保存しようとしています。私は今参照しているものと同じ構造を持つ他のいくつかの data.frames でこれを行いましたが、これまでのところ問題はありません。しかし、このdata.frameを保存してExcelで開こうとすると、なぜかFreqDev列とLengthDev列の数値の多くがExcelに読み込まれません。代わりに、行には「#」記号の文字列が表示されます。

私の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 を取得するための提案は大歓迎です。

前もって感謝します。

4

2 に答える 2

2

問題の説明から、Excel のデフォルトの小数点として "," が使用されていると思われます。Excel でデフォルトを変更するかdec=","、コマンドに追加しますwrite.table

于 2012-11-05T15:25:48.120 に答える