【发布时间】:2021-07-23 11:01:10
【问题描述】:
我有这个数据
names(tcars) <- c("MPG",
"DISPLACEMENT","HORSEPOWER","WEIGHT","ACCELERATION")
str(tcars) 'data.frame': 38 obs. of 5 variables: $ MPG : chr "16,9" "15,5" "19,2" "18,5" ... $ DISPLACEMENT: int 350 351 267
360 98 134 119 105 131 163 ... $ HORSEPOWER : int 155 142 125 150
68 95 97 75 103 125 ... $ WEIGHT : chr "4,36" "4,054" "3,605"
"3,94" ... $ ACCELERATION: chr "2,73" "2,26" "2,56" "2,45" ...
我尝试通过以下请求将 MPG 列转换为数字并收到以下消息
MPG <- as.numeric(tcars$MPG) NAs introduits lors de la conversion automatique and the type was not converted
str(tcars) 'data.frame': 38 obs. of 5 variables: $ MPG : chr "16,9" "15,5" "19,2" "18,5" ... $ DISPLACEMENT: int 350 351 267
360 98 134 119 105 131 163 ... $ HORSEPOWER : int 155 142 125 150
68 95 97 75 103 125 ... $ WEIGHT : chr "4,36" "4,054" "3,605"
"3,94" ... $ ACCELERATION: chr "2,73" "2,26" "2,56" "2,45" ...
所以我尝试了这段代码,我的数据的所有字符类型都更改为 NA :(
tcars[] <- lapply(tcars, function(x) as.numeric(as.character(x))) NAs introduits lors de la conversion automatiqueNAs introduits lors de la conversion automatique NAs introduits lors de la conversion automatique
str(tcars$MPG) num [1:38] NA NA NA NA 30 NA NA NA NA 17 ...
data.frame(tcars$MPG)
data.frame(tcars$DISPLACEMENT)
str(tcars) 'data.frame': 38 obs. of 5 variables:
$ MPG : num NA NA NA NA 30 NA NA NA NA 17 ... $ DISPLACEMENT: num 350 351 267 360 98 134 119 105 131 163 ... $ HORSEPOWER : num 155 142 125 150 68 95 97 75 103 125 ... $ WEIGHT : num NA NA NA NA NA NA NA NA NA NA ... $ ACCELERATION: num NA NA NA NA NA NA NA NA NA NA ...
【问题讨论】:
-
请在粘贴代码前使用
dput添加数据并删除>。 -
使用 dput 展示你的例子
-
您是否使用逗号 (
,) 作为十进制?2,73实际上是 2.73 吗?
标签: r dataframe type-conversion