2017-05-05 1 views
0

これはRを使って行列を転置することができる関数ですが、これを使わずに行列を転置する方法は不思議でした。 )t()関数を使わずに行列を転置する方法

私はこれを自分自身の関数としてどのように書きますか?

注意してください。rを使用し始めたばかりですので、厳しくしないでください。

+3

一般的な関数の作成方法は知っていますか?基本的な機能を最初に作ってから、鉛筆と紙を使って行列をどのように転置したのかを考え、Rで書いてみましょう。つまったら、ここに戻ってあなたの試みを投稿してください。 – Brandin

+0

私の学生のための私の一般的なお勧めは、アルゴリズムとその実装方法をまず考えてみることです。コーディングを開始します。あなたが立ち往生したときに、インターネットを検索し、すべてのオプションを使い果たしたとき(おそらく検索の日の後)、stackoverflowで質問を投稿してください。 –

+1

これを行う方法の1つは、 'transpose < - function(x)matrix(x、ncol(x)、nrow(x)、byrow = TRUE) 'です。 – Miff

答えて

4

行列の転置は、列を行にスワップするだけです。 これは、次のコードで行うことができます。

transpose <- function(M) sapply(1:nrow(M), function(i) M[i,]) 
-1

は最悪のアイデアかもしれないが、少なくともtrasposed行列を与えることになります:

  • M2[i,j]値にASSING別のマトリックスM2
  • を構築

    012:M[j,i]

コードの

M2 <- M 
    for (i in 1:nrow(M2)){ 
     for (j in 1:ncol(M2)){ 
      M2[i,j] <- M[j,i] 
     } 
    } 
+0

これは質問に答えません。それは単にそれを再表示します。コードを見る必要があります。 –

+0

質問には答えませんか?私は、これらのステップに続く関数は、入力からのtraspose行列をもたらすと考えます。 – R18

+0

かもしれません。しかし、SOの全体のポイントは、CODEという質問に答えることです。 –

関連する問題