🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

解決済

1回答

338閲覧

Rプログラミングにおける行列の結合

urasanshin

総合スコア5

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2019/11/14 07:28

Rプログラミングにおける行列の結合がしたい

統計解析ソフトRに関する質問です.

異なる出力で得た1×10の行列(ベクトルといった方が正しいかもしれません.)を
行の名前で結合したいのですが,苦戦しています.

発生している問題・エラーメッセージ


(PC1)
X400m -0.5598725
走幅跳 -0.5598725
X110mH -0.4963135
X1500m -0.3560317
X100m 0.0000000
走高跳 0.0000000
棒高跳 0.0000000
円盤投 0.0000000
やり投げ 0.0000000
砲丸投 0.0000000

(PC2)

やり投げ 0.6031696
円盤投 0.6031696
砲丸投 0.5218937
走高跳 0.0000000
X1500m 0.0000000
棒高跳 0.0000000
X110mH 0.0000000
走幅跳 0.0000000
X100m 0.0000000
X400m 0.0000000

イメージでは,PC2の列をPC1に並べ替えて結合したいです.
(イメージ)  PC1 PC2
X400m -0.5598725 0.0000000
走幅跳 -0.5598725 0.0000000
X110mH -0.4963135 0.0000000
X1500m -0.3560317 0.0000000
X100m 0.0000000 0.0000000
走高跳 0.0000000 0.0000000
棒高跳 0.0000000 0.0000000
円盤投 0.0000000 0.6031696
やり投げ 0.0000000 0.6031696
砲丸投 0.0000000 0.5218937

試したこと

PC2<-PC2[order(rownames(PC1)),]

PC2をPC1の行の順番のorderにすればできると思ったのですが,
出力結果が,
X1500m 砲丸投 走高跳 やり投げ X100m 走幅跳 棒高跳 円盤投 X400m X110mH
0.0000000 0.5218937 0.0000000 0.6031696 0.0000000 0.0000000 0.0000000 0.6031696 0.0000000 0.0000000

PC2という列名もなくなって,データの型がmatrixからnumericになってしまいました.

ご教授いただければ幸いです.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

私が思いつく最短の方法。

R

1# 適当に作った名前付きベクトルa,b 2a <- c(1,2,3,4,5) 3names(a) <- c("A", "C", "B", "E", "F") 4b<-c(10,20,30,40,50) 5names(b) <- c("A", "F", "D", "B", "E") 6 7#namesを列化したdfを作る。 8aa <- data.frame(name=names(a), val=a) 9bb <- data.frame(name=names(b), val=b) 10 11# 結合 12result <- merge(aa, bb, by = "name", all=T) 13

投稿2019/11/14 14:15

KojiDoi

総合スコア13692

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

urasanshin

2019/11/15 01:21

解決できました! ありがとうございます!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問