Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R读取欧洲格式的数值作为因子_R_Categorical Data - Fatal编程技术网

R读取欧洲格式的数值作为因子

R读取欧洲格式的数值作为因子,r,categorical-data,R,Categorical Data,在R3.1.2中,我上传了一个数据集。然而,我的数值被解读为因子。通过在线搜索,我发现此代码应将我的值从因子更改为数值: as.numeric(as.character(athene)) 但在这一行中键入时,会出现以下消息: “强制引入的NAs” 我的屏幕上出现了很多NAs。当我指定要更改的特定因子时,也会发生同样的情况 (as.numeric(as.character(MAG)). 当我查看我的数据帧时,它并没有改变,看起来仍然像以前一样。什么都没有发生: str(athene) “da

在R3.1.2中,我上传了一个数据集。然而,我的数值被解读为因子。通过在线搜索,我发现此代码应将我的值从因子更改为数值:

as.numeric(as.character(athene))
但在这一行中键入时,会出现以下消息:

“强制引入的NAs”

我的屏幕上出现了很多NAs。当我指定要更改的特定因子时,也会发生同样的情况

(as.numeric(as.character(MAG)).
当我查看我的数据帧时,它并没有改变,看起来仍然像以前一样。什么都没有发生:

str(athene)
“data.frame”:72920 obs。在17个变量中:

$MAG:int 0 0 0 0 0 0 1 0

$PCR:int 0 1 0 0 0 0 0 0 0 0 0

$LO:int 1 1

$WAT:int 0 0 0 0 0 0

$SVE:int 0 0 0 0 0 0 0

$ARA:int 0 1 0 0 0 0 0 1 0 0 0

$GRA:int 0 0 1 0 1 0 1

$FOR:int 0 0 0 0 0 0 0

B13元:系数w/233水平“100,00”、“101,00”和…1233 13 15 5 10 8 6 7 14

B12美元:系数w/1538水平“1000,00”,“1001,00”,“959 960 1013 1024 977 993 974 966 966 1011…”

$MTP:系数w/198“0,00”、“1,00”级…137 179 36 133 122 110 113 197 110

$MB6:系数w/264级“-1,00”、“-10,00”、…:238 238 240 236 240 233 234 236 251

$URB:int 1 0 0 1 0 0 0 0 0 0 0

$BI1:int 12 12

$MHF:int 11 9 7 7 8 9 10 0 8

$BI4:int 3 3

$ALT:int 1 3 4 1 4 1 1 1 1 1 1 1 1 1


如果有人对我将阶乘值改为数字值的错误有任何疑问,我们将不胜感激。

R不理解我们欧洲人使用“,”作为十进制分隔符。在强制转换为数值之前,使用
gsub()
将所有“,”更改为“.”

> B13 <- factor(rep(c("100,00","101,00","102,00"),1:3))
> B13
[1] 100,00 101,00 101,00 102,00 102,00 102,00
Levels: 100,00 101,00 102,00
> as.numeric(gsub(",",".",as.character(B13)))
[1] 100 101 101 102 102 102
>B13 B13
[1] 100,00 101,00 101,00 102,00 102,00 102,00
级别:100,00 101,00 102,00
>as.numeric(gsub(“,”,“,”,as.character(B13)))
[1] 100 101 101 102 102 102

R不理解我们欧洲人使用“,”作为十进制分隔符。在强制转换为数值之前,使用
gsub()
将所有“,”更改为“.”

> B13 <- factor(rep(c("100,00","101,00","102,00"),1:3))
> B13
[1] 100,00 101,00 101,00 102,00 102,00 102,00
Levels: 100,00 101,00 102,00
> as.numeric(gsub(",",".",as.character(B13)))
[1] 100 101 101 102 102 102
>B13 B13
[1] 100,00 101,00 101,00 102,00 102,00 102,00
级别:100,00 101,00 102,00
>as.numeric(gsub(“,”,“,”,as.character(B13)))
[1] 100 101 101 102 102 102

当我尝试以下操作时,会发生另一个错误:>as.numeric(levels(athene))[as.integer(athene)]错误:(list)对象无法强制键入“integer”>当我尝试以下操作时,会发生另一个错误:>as.numeric(levels(athene))[as.integer(athene)]错误:(list)如果数据的格式正确,则无法强制对象键入“integer'>或可能使用
read.csv2
。如果数据的格式正确,则可能使用
read.csv2