首页 > 解决方案 > 如何在表格中构造 Web 数据

问题描述

我的第一个 R 脚本会像这样抓取一个网络表格:

    RACE2<U+00A0>CLS5<U+00A0>1200M<U+00A0>ST<U+00A0>GRS<U+00A0>ARATE:(0-40)<U+00A0>GING:FAST

如何将其更改为如下所示的行和列数据框

桌子

前 6 列我需要添加我的列名,最后 2 列我使用来自网络数据的名称

我怎样才能做到这一点

标签: rwebweb-scraping

解决方案


我认为你不能,因为此时数据太混乱了。

如果您运行此行来替换<U+00A0>s

gsub("<U\\+00A0>", " ", "RACE2<U+00A0>CLS5<U+00A0>1200M<U+00A0>ST<U+00A0>GRS<U+00A0>ARATE:(0-40)<U+00A0>GING:FAST")

你会得到

RACE2 CLS5 1200M ST GRS ARATE:(0-40) GING:FAST

你可以从那里继续

library(tidyverse)
gsub("<U\\+00A0>", "\\\n", "RACE2<U+00A0>CLS5<U+00A0>1200M<U+00A0>ST<U+00A0>GRS<U+00A0>ARATE:(0-40)<U+00A0>GING:FAST") %>%
        str_split(pattern="\\\n", simplify)

产生

[[1]]
[1] "RACE2"        "CLS5"         "1200M"        "ST"           "GRS"          "ARATE:(0-40)"
[7] "GING:FAST"   

但我认为您的数据包含太多缺少的属性名称,太少的“:”分隔符,并且不可能可靠地检测 NA 值。


推荐阅读