【发布时间】:2014-06-25 16:05:33
【问题描述】:
我试图将我的数据框 (frost) 的一列 (X.2) 从因子转换为数值。当我只尝试X.2 而不是frost$X.2 它似乎工作但当
我问str(frost)这个专栏还是一个因素。
frost=read.csv2("Database_REL_Umea_aktuell.csv")
frost
as.numeric(as.character(frost$X.2))
[1] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[28] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[55] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[82] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[109] NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
[136] NA NA
Warning message:
NAs introduced by coercion
str(frost)
'data.frame': 137 obs. of 6 variables:
$ Database.frost.damage.Umea: Factor w/ 7 levels "","Hylocomium splendens (HS)",..: 1 5 3 3 3 3 3 3 3 3 ...
$ X : Factor w/ 5 levels "","C","SR1","SR10",..: 1 5 4 4 4 4 4 4 4 4 ...
$ X.1 : Factor w/ 11 levels "","C-1","C-2",..: 1 5 9 9 9 10 10 10 11 11 ...
$ X.2 : Factor w/ 136 levels "","0,012573",..: 1 136 110 99 129 105 82 112 94 69 ...
$ X.3 : Factor w/ 5 levels "","a","b","c",..: 1 5 2 3 4 2 3 4 2 3 ...
$ X.4 : logi NA NA NA NA NA NA ...
有没有人不知道为什么它不起作用? 感谢您的帮助!
【问题讨论】:
-
欢迎来到 StackOverflow!请阅读有关how to ask a good question 的信息以及如何生成minimal reproducible example。这将使其他人更容易帮助您。
-
为什么不在您对
read.csv2的调用中使用stringsAsFactors = FALSE?此外,如果该列确实是数字,R 会将其读取为数字。这使我相信您在该列中有非数值。如果数据正确读入 R,则没有理由必须这样做。 -
读取数据时使用
dec = ","。 -
@RomanLuštrik ,
read.csv2()应该解决这个问题。 -
@BenBolker 好点。那时正在发生一些奇怪的事情。
标签: r csv numeric type-conversion