当我将数据框列转换为数字时,所有值都变为NA
offense[,2:13] <- apply(offense[,2:13],2,as.numeric)
他们都是数字没有逗号,我甚至试图删除空格如果有任何偶然的使用
as.data.frame(apply(offense,2,function(x)gsub('\\s+','',x)))
但仍然会在类型转换时将值转换为NA并显示警告消息。
我从URL获取数据(数据科学手册第3章)
offense <- readHTMLTable(url, encoding = "UTF-8", colClasses="character")[[7]]
答案 0 :(得分:0)
导入的变量是因子,因此您必须使用,例如
as.numeric(as.character(offense$`Pts/G`))
apply(offense[, 2:13], 2, function(x) as.numeric(as.character(x)))
请参阅?factor
:
要将因子f转换为大约其原始数值, 建议使用as.numeric(levels(f))[f],效率稍高 比as.numeric(as.character(f))。
(但是,第一种方式对我不起作用,也许我犯了一个错误,但as.numeric(as.character())的第二种方式有效)