Я очистил фрейм данных в R следующим образом:
page.201702050atl = read_html("http://www.pro-football-reference.com/boxscores/201702050atl.htm")
comments.201702050atl = page.201702050atl %>% html_nodes(xpath = "//comment()")
team.stats.201702050atl = comments.201702050atl[27] %>% html_text() %>% read_html() %>% html_node("#team_stats") %>% html_table()
> team.stats.201702050atl
NWE ATL
1 First Downs 37 17
2 Rush-Yds-TDs 25-104-2 18-104-1
3 Cmp-Att-Yd-TD-INT 43-63-466-2-1 17-23-284-2-0
4 Sacked-Yards 5-24 5-44
5 Net Pass Yards 442 240
6 Total Yards 546 344
7 Fumbles-Lost 1-1 1-1
8 Turnovers 2 1
9 Penalties-Yards 4-23 9-65
10 Third Down Conv. 7-14 1-8
11 Fourth Down Conv. 1-1 0-0
12 Time of Possession 40:31 23:27
> str(team.stats.201702050atl)
'data.frame': 12 obs. of 3 variables:
$ : chr "First Downs" "Rush-Yds-TDs" "Cmp-Att-Yd-TD-INT" "Sacked-Yards" ...
$ NWE: chr "37" "25-104-2" "43-63-466-2-1" "5-24" ...
$ ATL: chr "17" "18-104-1" "17-23-284-2-0" "5-44" ...
Как видите, R очищает эту таблицу с уже помеченными 2-м и 3-м столбцами. Я хотел бы дать этим столбцам общие ярлыки и переместить c("", "NWE", "ATL")
в саму таблицу, чтобы я мог с ней работать. Кроме того, я хотел бы заполнить эту пустую ячейку при перемещении строки в таблицу своим собственным текстом. Другими словами, я хочу получить что-то вроде:
> team.stats.201702050atl.a
V1 V2 V3
1 Tm NWE ATL
2 First Downs 37 17
3 Rush-Yds-TDs 25-104-2 18-104-1
4 Cmp-Att-Yd-TD-INT 43-63-466-2-1 17-23-284-2-0
5 Sacked-Yards 5-24 5-44
6 Net Pass Yards 442 240
7 Total Yards 546 344
8 Fumbles-Lost 1-1 1-1
9 Turnovers 2 1
10 Penalties-Yards 4-23 9-65
11 Third Down Conv. 7-14 1-8
12 Fourth Down Conv. 1-1 0-0
13 Time of Possession 40:31 23:27
Я знаю, что мог бы сделать что-то вроде:
team.stats.201702050atl.a = as.data.frame(t(team.stats.201702050atl))
team.stats.201702050atl.a$r1 = c("Tm", "NWE", "ATL")
team.stats.201702050atl = as.data.frame(t(team.stats.201702050atl.a))
... но как заставить R ссылаться на метки столбцов в team.stats.201702050atl$V2 и team.stats.201702050atl$V3 напрямую, не вводя их явно? И как мне это сделать, вставляя собственный исходный текст в первый столбец этой строки?