1

私は非常に初心者の R プログラマーですが、どこにも答えが見つからないようです。これが初心者の質問である場合は申し訳ありません。

私は435個のアイテムを持っており、それらすべての違いを計算し、列と行の名前と対角線に沿って「0」の類似性マトリックスを提供しました( http://i.stack.imgur.com/E75DW.png )。

これを保存してRで読み込むことができるRのファイル形式は何ですか? そして、私がRに入ったら、どうやってそれを読むのですか? 私は read.csv と read.table を使用しましたが、特に列と行の名前で正しく行っているかどうかわからないため、出力を信頼していません。最終的には、クラスター化してクラスターの代表者を選びたいと思います。

ありがとう!デニー

例として、現在 C プログラムから CSV ファイルに保存しています。以下のスニペットのようにフォーマットされています (先頭の「,」は、列と行の名前が対角線上に配置されるようにするためのものです)。しかし、これを R に読み込んで、名前付きの列と行を持つ 435x435 の行列を取得する方法がわかりません。

,134424,144077,150472,154222,156937,156941,
134424,0,0.883618248417182,0.974399713412412
144077,0.883618248417182,0,0.774739255322855
150472,0.974399713412412,0.774739255322855,0
4

1 に答える 1

0

ファイルを CSV ファイルにエクスポートしますdata.csv

次のような行列として R にインポートできます。

m <- as.matrix(read.csv(file='data.csv', header=F))

これheader=Fは重要です。そうしないと、ファイルの最初の行がデータの一部としてではなく、ヘッダーとして扱われます。

たとえば、次の csv データを見てください。

,2,3
4,0,6
7,8,

R にインポートすると、次のようになります。

> m <- as.matrix(read.csv(file='data.csv', header=F))
> m
     V1 V2 V3
[1,] NA  2  3
[2,]  4  0  6
[3,]  7  8 NA

次のような要素にアクセスできます。

> m[2,1]
V1 
 4 
> m[3,2]
V2 
 8 

NA値を次のように置き換えたい場合0:

> m[is.na(m)] <- 0
> m
     V1 V2 V3
[1,]  0  2  3
[2,]  4  0  6
[3,]  7  8  0

V1..V3列名を削除する場合:

> colnames(m) <- NULL
> m
     [,1] [,2] [,3]
[1,]    0    2    3
[2,]    4    0    6
[3,]    7    8    0
于 2013-09-20T20:53:27.963 に答える