2017-07-20 8 views
0

"d3heatmap"を使用してデータセットでヒートマップを作成しようとしています。データフレームのインデックスカラムを置き換えます

私は最初の列にサッカー選手の名前が含まれているデータフレームを持っています。しかし、その列が数値ではないため、次のエラーが発生します。 rowMeansで

エラー(X、na.rm = na.rm): 'X'

+----------------------+--------------------+---------+-------+ 
| Index column   | Player    | Minutes | Goals | 
+----------------------+--------------------+---------+-------+ 
| 1     |    Robert | 1234 | 10 | 
| 2     |    John | 1253 | 15 | 
| 3     |    Mark | 112  | 1  | 
+----------------------+--------------------+---------+-------+ 

どのように私は私の持つデータフレームのインデックス列を置き換えることができ、「数値である必要があります最初の列(プレイヤー)?

理想的な状況

+--------------------+---------+-------+ 
| Player    | Minutes | Goals | 
+--------------------+---------+-------+ 
|    Robert | 1234 | 10 | 
|    John | 1253 | 15 | 
|    Mark | 112  | 1  | 
+--------------------+---------+-------+ 

私は同様の質問が、私を検索しようとしています答えを得ていない。

ご協力いただきありがとうございます。とても有難い。

おかげで、 Juanma

+0

この例を試してみてください。 'dat < - data.frame(a = letters [1:5]、val = rnorm(5))'いくつかのおもちゃdata.frame。次に 'dat2 < - as.data.frame(dat [-1]、row.names = as.character(dat [、1]))'。 – lmo

+0

これは素晴らしいことです。メモを送信していただきありがとうございます。私のデータセットでは本当にうまくいきます。ありがとうございました – Juanma

答えて

1

私はあなたがdat2以下dat3をしたいかはわかりません。実際には、Index columnがオリジナルの列であることがわかりませんdata.frame、私はそうであると思います。次の場合、dat3

dat <- data.frame(
     index = 1:3, 
     Player = c("Robert", "John", "Mark"), 
     Minutes = c(1234, 1253, 112), 
     Goals = c(10, 15, 1) 
    ) 

dat 
dat2 <- dat[, -1] 
dat2 
    Player Minutes Goals 
1 Robert 1234 10 
2 John 1253 15 
3 Mark  112  1 

、I列Playerを除去し、列名にその値を変えてきました。

dat3 <- dat[, -(1:2)] 
rownames(dat3) <- dat$Player 
dat3 
     Minutes Goals 
Robert 1234 10 
John  1253 15 
Mark  112  1 
+0

ありがとう、本当に私のために働く。はい、私が必要としたのは2番目の例です。 – Juanma

関連する問題