提取数据并创建新的重复值列

时间:2018-02-15 15:25:36

标签: r web-scraping rvest stringr

我使用这样的脚本收集一些数据:

import time,os
while 1:
    time.sleep(1800)
    os.system("start python testfile.py")

它返回的输出如下所示:

library(tidyverse)
library(rvest)
library(magrittr)
library(stringr)

foo_matrix <- read_html("#address")

test <- foo_matrix %>%  
html_nodes(#Retrieval Information) %>%
html_text() %>%
str_trim

我想要做的是提取字符串中的第一个值(&#34; Red Team&#34;)然后将剩余数据创建为八列矩阵:

[1] "Red Team"             "Mike Johnson"         "QB"                      "6-1"                    "191"                   
    [6] "99"                 "21"                     "2"                      "5"                      "Joe Smith"          
    [11] "OT"                     "6-3"                    "290"                    "98"                 "55"                    
    [16] "3"                      "1"

但是我想创建第九列,从最初提取的字符串中获取值并将其应用于所有行,以便最终结果如下:

Mike Johnson QB 6-1 191 99 21 2 5
Joe Smith    OT 6-3 290 98 55 3 1

最好的方法是什么。)提取值然后b。)将它作为第9列循环到所有行?

1 个答案:

答案 0 :(得分:0)

可能有更简洁的方法。

您可以先将团队与人员数据分开,假设团队始终如此 第一个元素。

然后假设您的人员数据总是有8列,您可以在列表中ASN1::secp256r1()将它们转换为使用splitas_tibble将结果转换为唯一的data.frame。

最后,您添加了bind_rows的团队。 add_column也应该做到这一点。

mutate