我有一个名为draft的数据框,我从维基百科中删除了。我试图使用给定行列(称为播放器)中的字符数,以便除以2以删除行列字段中行列的长度的一半。换句话说,如果播放列中的row1&#39的值当前在数据框中,其值为(仅作为示例)" Mayfield,BakerBaker Mayfield",我想减少它简单地说是#May; Baker"。使用列本身的长度函数似乎没有帮助,因为长度始终为256个字符。以下是我删除文件的方法:
命令1(调用包)
library("rvest")
命令2(识别网页)
url <- 'https://en.wikipedia.org/wiki/2018_NFL_Draft'
命令3(刮刮)
draft <- url %>%
read_html() %>%
html_nodes(xpath='//*[@id="mw-content-text"]/div/table[4]') %>%
html_table()
draft <- draft[[1]]
这适用于Excel = LEFT(E2,(LEN(E2)+1)/ 2)
非常感谢提前!
答案 0 :(得分:2)
这应该对你有用
# I modified this to remove the first blank column, it causes errors otherwise
draft <- draft[[1]][-1]
# extract the string which follows the pattern from the original Player variable
draft %>%
mutate(
Player1 = substr(Player, 1, nchar(Player) / 2 + 1)
)
答案 1 :(得分:0)
修改强>
我使用非常低效的for循环删除了我之前的答案,并将其更改为使用sapply
来修改相关列的内容:
draft[4] <- sapply(4, function(x,y) substr(y[,x], 1, nchar(y[,x])/2+0.5), y=draft)
这将为您留下一个名为draft
的已修改数据框,该数据框仅保留所有结构的其余部分,仅修改了播放器名称内容。