替换数据框中的索引列

时间:2017-07-20 18:12:50

标签: r visualization d3heatmap

我正在尝试使用" 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     |
+--------------------+---------+-------+

我试图搜索类似的问题,但我还没有得到答案。

非常感谢您的帮助。非常感谢。

谢谢, 绢麻

1 个答案:

答案 0 :(得分:1)

我不确定您是否需要dat2dat3。事实上,我不确定Index column是原始data.frame中的列,我会认为它是。

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

在下一个案例dat3中,我删除了列Player并将其值转换为行名称。

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