r - 操作数据框中的列
问题描述
我有一个从 Wikipedia 上抓取的名为 Draft 的数据框。我正在尝试使用给定行列(称为 Player)中的字符数,以便除以 2 以删除行列字段中行列长度的一半。换句话说,如果 Player 列中的 row1 的值当前在数据框中,其值为(只是一个示例)“Mayfield,BakerBaker Mayfield”,我想将其简化为“Mayfield,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)
提前谢谢了!
解决方案
这应该适合你
# 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)
)
推荐阅读
- c - malloc 在编译时和运行时如何处理?
- sql-server - 涌入 SQL Server 连接
- c - LD_LIBRARY_PATH 对 LibXML.so 不生效
- angular - 如何从 firebase 实时数据库中获取用户列表及其 UID
- divide-and-conquer - 如何使用分治法将十进制数转换为二进制数?
- php - 我尝试更多上传图片,但即使我尝试更多,它也会提供错误
- javascript - 使用 nodejs 添加对象数组并在 file.txt 上读取它
- python - 用于熊猫数据框的 jupyter notebook 中的交互式多图表小部件
- arduino - VS Code 为 Arduino 提供标头错误?缺少官方标题?
- java - 如何从java中的文件中提取特定文本?