0

特定のソフトウェアで分析するために、いくつかの要件を持つ .dat ファイルを生成する必要があります。.dat ファイルの形式は、ID 列に特定の固定幅があり、アイテムの応答値が区切り記号なしですべて一緒に表示される必要があります。まさにこのように:

(ID)   (i1i2i3...values) 
1      1234
2      1234
3      1234
4      1234
...
2365   1234

で固定幅文字を取得しIDfixed <- sprintf("%04d", ID)、このコードに変数を含めることができました。

  for(i in 0:5) {
  for (j in 1:5) {
    filename <- paste("Factor",j, "_", "Facet",i+1, "_", "ID", ".dat", sep="")
    write.table(cbind(IDfixed, data[,c(2*i+1,2*i+2),j]), filename, col.names=F, row.names=F)
  }
}

出力にはこれらの""文字を含めるべきではありません。以前のテーブルと同じ形式にする必要があります。結果のサンプル:

     [,1]   [,2] [,3]
[1,] "0001" "2"  "1" 
[2,] "0002" "2"  "3" 
[3,] "0003" "5"  "5" 
[4,] "0004" "3"  "3" 
[5,] "0005" "3"  "5"

御時間ありがとうございます!

4

1 に答える 1

0

これを試して:

# sample data
ID <- c(1, 11, 111, 1111)

# convert ID to character, pad with leading zeros to a fixed width of 4
IDfixed <- sprintf("%04d", ID)

IDfixed
# [1] "0001" "0011" "0111" "1111"

edit のデフォルトの動作write.tableは、「任意の文字列または因子列が二重引用符で囲まれる」ことです ( quote = TRUE)。「ID」の""周りの要素がファイルに書き込まれないようにするには、quote = FALSE.

于 2013-09-10T12:30:29.923 に答える