数据框,逗号为小数分隔符

时间:2018-01-11 14:54:25

标签: r csv comma

我有数据框作为csv文件,数字用逗号分隔为十进制分隔符,我设法导入并使用read.csv2在R中读取它。但现在数字被视为characters

我想要做的是用点替换逗号并使用numeric值。

我的df看起来像这样:

var1 <- c("50,0", "72,0", "960,0", "1.920,0", "50,0", "50,0", "960,0")
var2 <- c("40,0", "742,0", "9460,0", "1.920,0", "50,0", "50,0", "960,0")
var3<- c("40,0", "72,0", "90,0", "1,30", "50,0", "50,0", "960,0")
df <- data.frame(cbind(var1, var2, var3))

然而,在这种情况下,数字被视为因素,而不是字符

1 个答案:

答案 0 :(得分:0)

当您阅读.csv文件时,您可以根据文件类型指定sepdec参数:

# assuming file uses ; for separating columns and , for decimal point
# Using base functions 
read.csv(filename, sep = ";", dec = ",")

# Using data.table
library(data.table)
fread(filename, sep = ";", dec = ",")

您应首先尝试解决问题的根源,只有在未能获得所需结果的情况下才应使用正则表达式和其他解决方法。