• 締切済み

統計ソフトRに距離行列の読み込み

統計ソフトRに距離行列を読み込む方法をご存知の方はいらっしゃらないでしょうか. 例えば,次のような距離行列をRに読み込みたいとします.  A B C B 1 C 1 1 D 1 1 1 これを通常の行列のようにread.table()等で読み込んだとしても, 当然ですがデータの種類は正方行列data.frameになってしまいます. 距離行列distとして,読み込むにはどうしたらいいでしょうか. 言い換えれば質問は, > class(読み込んだデータ) [1] "dist" と返されるにはどうしたらいいか,です. 尚,Rのdist()を使って距離行列を作成する方法は知っています. どうしても他のソフトで作成した距離行列をRに読む込む必要があります.

みんなの回答

  • ur2c
  • ベストアンサー率63% (264/416)
回答No.1

?dist とすると出て来る help に The "dist" method of as.matrix() and as.dist() can be used for conversion between objects of class "dist" and conventional distance matrices. と書いてあります.だから単に読み込んで as.matrix とか as.dist とかで変換すれば良いのでは?

pk67_2008
質問者

お礼

ご回答ありがとうございました. as.distで変換してみました.確かにdistになりましたが,行列自体が変わってしまいました. 他の方法を考えてみます.

関連するQ&A

  • 統計ソフトRでのファイル読み込み⇒折れ線グラフの作成について

    統計ソフトRでのファイル読み込み⇒折れ線グラフの作成について 統計ソフトRの初心者の者です。 下記にあるようなIMFのデータをダウンロードしてRで折れ線グラフを作成したいと思っていますがうまくいきません。 http://www.imf.org/external/ns/cs.aspx?id=28 データを手打ちして作成するのはなんとかできるのですが(※参照)、データ数(たとえば国や年)が増加すると困難になります。 そこでCSVファイルを直接Rで読み込ませて作成したいと思っています。 作成したい図のイメージとしては(※)で出来上がるようなきわめてシンプルな折れ線グラフです。(MS-EXCELを使うともちろん即座に作成できるのですが練習かねてRを使って作成したいと思っています。) Rで直接ファイルを読み込ませて作成する方法をご存知でしたら教えて下さい。 GDP<-read.csv("ファイル名",sep=",",dec=".",header = T) としてファイル名を読み込ませるくらいの事はわかりますがその先で詰まっている状況です。 R-TIPsとか読んでもうまく解決しないので質問しました。 よろしくお願いいたします。 <※> yr <- c( 2000:2010 ) CN <- c(5.233,1.784,2.925,1.881,3.12,3.019,2.854,2.531,0.414,-2.479,2.125) FR <- c(4.073,1.759,1.065,1.077,2.274,1.941,2.416,2.26,0.323,-2.358,0.903) GR <- c(3.224,1.151,0.006,-0.231,1.176,0.732,3.176,2.516,1.248,-5.297,0.336) pr <- data.frame(c=CN, f=FR, g=GR) matplot(yr, pr, type="b", ylab="GDP", xlab="yr",main="GDP変化率 2000-2010", pch=c(3,2,1), col=c("darkorchid1","cyan3","aquamarine3") ) legend(1,max(pr),legend=colnames(pr), col=c("darkorchid1","cyan3","aquamarine3"), lty=c(1:3),pch=c(3,2,1) ) (ちなみに上記で用いているデータに関しては各3国の2000-2010年のGross domestic product, constant prices Annual percent changeになります)

  • 行列

    A,B,C・・・をそれぞれ正方行列とします。 A,B,C・・・を対角に並べて、その他はすべて0の行列をX(正方行列)とします。 そのとき、Xの固有値を求めると、 A,B,C,・・・のそれぞれの固有値を求めたものをあわせたものに等しいことの証明を、 どなたかお願いします。

  • 成分が行列(?)の行列式の証明について.

    成分が行列(?)の行列式の証明について. 画像添付が失敗してしまったようで再掲です.すみません. ---問題ここから--- Aがm次の正方行列,Bがm行n列の行列,Cがn次の正方行列,Oがn行m列のゼロ行列の時, |A B| |O C| = |A||C| を示せ. ---問題ここまで--- という問題です.(実際の問題文の画像を添付しました.) まさか2次正方行列の公式を使って示したことにはならないでしょうし, 左辺を1行で余因子展開して A|C|-B|O|=A|C| としてみたのですが,これでは右辺と等しいとは言えませんよね. 成分が行列の行列式ってどう計算したらよいのでしょうか,やり方がわからずハマってしまいました... どなたか解答の方針を教えて頂けませんか?

  • 行列の証明

    a,b,c,d,r,sは実数とする。               a  b  2次の正方行列A=(     )と2次の単位行列Eに対して               c  d 集合L(A)をL(A)={sA+rE}とするとき L(A)の要素Bは零行列でなければ逆行列を持つ必要十分条件を求めなさい。 ここで言う集合、要素とはなんなんでしょう?要素Bってどれ? 何をすればいいか全くわからないです。

  • 統計ソフトRを使った最適化

    統計ソフトRを使った最適化について このたび、Rを使って ((x-3)^2)*((x-7)^2)の最適化(最小値の測定)をしたいのですが、 f <- function (x) {((x-3)^2)*((x-7)^2)} fmin <- optimize(f, c(0, 9), tol = 0.00001) fmin としても、最小値0の解としてx=3が出てくるだけで、x=7が出てきません。 c(5,10)などど範囲を適当に置き換えればx=7も解として出てくるのですが、両方の解を同時に出すような方法はないでしょうか、よろしくお願いします。

  • 行列です。

    東京学芸大 二次の正方行列 A=(a b)(b c) a,bは正の整数 cは負の整数とする。 このときA^3=25A を満たすすべてのA を求めよ ですが! ⊿=ac-b^2<0 でAの逆行列が存在する と解答に書いてるんですが 意味が分かりません。 教えて下さい。

  • 統計ソフトR lm関数とpredict関数について

    お世話になります。 統計ソフトRのド素人です。 回帰を行い、更に予想値の出力を試みているのですが、 なかなか出来ずに困っています。 アドバイスをお願いします。 データフレーム1と2があります。 データフレーム1には変数X、Aが、 データフレーム2には変数X、Bが存在します。 また、データフレーム外に変数aが存在するとします。 回帰によるオブジェクトをkaikiで表わすとします。 kaiki<-lm(X~...) 回帰をもとに計算される予測値をYosouで表わすとします。 Yosou<-predict(kaiki) 質問です。 1)データフレーム1のAとデータフレーム2のBとaを説明変数として、 目的変数Xの予想をするには、どのようにすればよいのでしょうか? 2)kaikiがうまく行っていることは、どうやって確かめればいいのでしょうか? 3)Yosouをデータフレーム1に出力したい場合は、どのようにコードすればよいのでしょうか? ---------------------------------- frame1 (変数X,Aを持つ) frame2 (変数X,Bを持つ) a kaiki<-lm(framea$X~frameA$A+frameB$B+a)??? Yosou<-predict(kaiki) Yosouをframe1に出力できる?? ------------------------------------ 言葉足らず、または理解不足の点があり、 質問が分かりずらい時は、ご指摘いただけるとありがたいです。 よろしくお願いします。

  • 行列です。

    nxnの正方行列行列A=[aij],B=[bij]に対し,C=[cij]およびC'=[c'ij]を以下のように定義する。 C=(AB)^T C'=B^TA^T このとき,cij,c'ijをaij,bijを用いて表せ.なお,結果は総和記号Σを用いて表すこと. よろしくおねがいします。

  • 非正方行列の行列式をC言語で計算したいのですが。

    非正方行列の行列式を求めたいのですがどのような式になるのでしょうか? また、これをC言語で作成しなければなりません。 プログラミングはほぼ初心者なので、回答者様の手間にならない程度で優しく回答していただければと思います。 宜しくお願いします。

  • 行列式が解けません。。

    A,B,C,Dをn次正方行列として、行列式 |AB CB| |AD CD| を求めるという問題なのですが、さっぱりわかりません;; (恐らく既出ではないはずですが、万一既出ならば場所を教えていただけると幸いです;)