r - 从 CSV 读取数据时 type.convert 出错
问题描述
我正在做一个篮球项目。我正在努力打开我在 R 上的数据: https ://www.basketball-reference.com/leagues/NBA_2019_totals.html
我已在 excel 上导入数据,然后将其保存为 CSV(对于 macintosh)。当我在 RI 上导入数据时,会收到一条错误消息:
"Error in type.convert.default(data[[i]], as.is = as.is[i], dec = dec, : invalid multibyte string at '<e7>lex<20>Abrines' "
解决方案
以下似乎有效。readHTMLTable
由于 column 中存在空字符,该函数确实会发出警告Player
。
library(XML)
uri <- "https://www.basketball-reference.com/leagues/NBA_2019_totals.html"
data <- readHTMLTable(readLines(uri), which = 1, header = TRUE)
i <- grep("Player", data$Player, ignore.case = TRUE)
data <- data[-i, ]
cols <- c(1, 4, 6:ncol(data))
data[cols] <- lapply(data[cols], function(x) as.numeric(as.character(x)))
检查是否有NA
值。这是必需的,因为链接中的表不时重新启动标题,并且字符串与数字条目混合在一起。以上grep
旨在检测此类情况,但也许还有其他情况。
sapply(data, function(x) sum(is.na(x)))
不,一切都很好。所以将数据集写成 CSV 文件。
write.csv(data, "nba.csv")
推荐阅读
- javascript - 在具有多个嵌套对象的对象中使用 Vue.set
- algorithm - Knn 算法是如何工作的
- python - 使用python数值求解有限定义区间上的非线性方程组
- python - 对 qlik 的 Python Web 套接字请求
- typescript - 点符号内的打字稿类型提示
- javascript - 在 div 上添加自定义动画类不起作用?
- javascript - 删除 Google 表格电子表格中的重复项
- r - dir() 和 list.file() 在 R 中具有非英语名称
- java - 如何检查版本名称字符串(找到)>为Android中的版本名称指定的字符串
- php - 如何获得围绕中心坐标和半径的N个坐标