Заменить индексный столбец в кадре данных

Я пытаюсь сделать тепловую карту с набором данных, используя "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 ответ

Решение

Я не уверен, если вы хотите dat2 или же dat3 ниже. На самом деле, я не уверен, что 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
Другие вопросы по тегам