5

列ごとに異なる小数点以下の桁数を持つ dataframe または data.table を生成する必要があります。

例えば:

Scale       Status
1.874521    1

次のように CSV に出力する必要があります。

Scale,      Status
1.874521,   1.000

これは私が試したように数値でなければなりませんが、これはformat(DF$status, digits=3)文字as.numeric(format(DF$status, digits=3))に変換し、CSV にエクスポートすると二重引用符 ".

私の実際のデータフレームには、必要な小数点以下の桁数が異なる多くの列と、二重引用符で囲む必要がある文字があるため、システム全体の変更を適用できません。

4

1 に答える 1

7

を行うよりも良いオプションquote=FALSEは、実際にどの列を引用するかを指定することです.paramは、引用しquoteたい列インデックスのベクトルにすることができます。例えば

d = data.table(a = c("a", "b"), b = c(1.234, 1.345), c = c(1, 2.1))
d[, b := format(b, digits = 2)]
d[, c := format(c, nsmall = 3)]
d
#   a   b     c
#1: a 1.2 1.000
#2: b 1.3 2.100

write.csv(d, 'file.csv', quote = c(1,2), row.names = F)
#file.csv:
#"a","b","c"
#"a","1.2",1.000
#"b","1.3",2.100
于 2013-06-13T19:02:34.803 に答える