试图将“ chr”列转换为数字会导致R [重复项]中的NA充满列,>

问题描述 投票:0回答:2

我需要将x.1列转换为数字,以使其具有双浮点数。

我做了什么:1.我使用以下命令导入数据:training <- read.csv("training_grover.csv", stringsAsFactors = FALSE, sep = ";")

  1. str(training)
  2. 结果:data.frame': 2671 obs. of 22 variables: $ X : int 0 1 2 3 4 5 6 7 8 9 ... $ x.0 : chr "b" "a" "a" "b" ... $ x.1 : chr "30,83" "58,67" "24,5" "27,83" ... $ x.2 : chr "f" "4.46" "0.5" "1.54" ... $ x.3 : chr "u" "u" "u" "u" ... $ x.4 : chr "g" "g" "g" "g" ... $ x.5 : chr "w" "q" "q" "w" ... $ x.6 : chr "v" "h" "h" "v" ... $ x.7 : chr "1.25" "3.04" "1.5" "3.75" ... $ x.8 : chr "t" "t" "t" "t" ... $ x.9 : chr "t" "t" "f" "t" ... $ x.10: chr "t" "6" "f" "5" ... $ x.11: chr "f" "f" "f" "t" ... $ x.12: chr "g" "g" "g" "g" ... $ x.13: chr "202.0" "43.0" "280.0" "100.0" ... $ x.14: chr "f" "560" "824" "3" ... $ x.20: chr "t" "t" "t" "t" ... $ x.17: chr "116,94256980957068" "225,60625307204938" "92,08407670672422" "104,16291777029285" ... $ x.18: chr "0,5787085579422866" "25,409645364400404" "2,3173371593153314" "8,04533772976642" ... $ x.19: chr "202000.0" "43000.0" "280000.0" "100000.0" ... $ x.16: chr "f" "f" "f" "f" ... $ y : chr "good" "good" "good" "good" ..

  1. 我试图将x.1列转换为数字:

    training$x.1=as.numeric(training$x.1)结果,我得到了全是NA的x.1

  2. 动作:

a。我再次导入了文件

b。我从x.1中删除了“,”:str_replace_all(training$x.1, ",", ".")

c。再次尝试转换x.1列:training$x.1=as.numeric(training$x.1)结果,我仍然得到全是NA的x.1

d。再次导入文件

e。我从x.1中删除了“,”:str_replace_all(training$x.1, ",", ".")

f。再次尝试转换x.1列:training$x.1= as.numeric(as.factor(training$x.1))。结果:x.1列仍然充满NA。

我在这里做错了什么?谢谢!

谢谢您的帮助!我需要将x.1列转换为数字,以使其具有双浮点数。我已经完成了:1.我使用以下命令导入了数据:training

r char type-conversion numeric
2个回答
1
投票

导入后可能有多种方式对数据进行后处理,但是您可以通过正确导入数据来解决第一步。使用dec = ","指定用于表示小数点的字符。


0
投票

也许您可以尝试下面的代码进行类型转换

© www.soinside.com 2019 - 2024. All rights reserved.