我正在从事篮球项目。我正在努力打开有关R的数据: https://www.basketball-reference.com/leagues/NBA_2019_totals.html
我已经在excel上导入了数据,然后将其另存为CSV(用于macintosh)。 在R上导入数据时,出现错误消息:
"Error in type.convert.default(data[[i]], as.is = as.is[i], dec = dec, : invalid multibyte string at '<e7>lex<20>Abrines' "
答案 0 :(得分:0)
以下似乎有效。由于列readHTMLTable
中存在空字符,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")
答案 1 :(得分:-1)
将文件编码为Latin1可以提供帮助。
例如,要在csv中读取文件,请跳过第二行:
Test=(read.csv("IMDB.csv",header=T,sep=",",fileEncoding="latin1")[-2,])