对read.csv和read_csv的更深入了解

时间:2018-12-19 14:03:57

标签: r csv

我正在研究哪种导入方法更好,read.csv或read_csv。有几个线程比较导入时间等,并且大多数指向将read_csv用于较大的文件(也包括fread)。

在导入数据时,我遇到了异常情况。

我使用read.csv和read_csv导入相同的csv文件

CSV1 <- read.csv("C:\\Users\\AH0168850\\Desktop\\Claims.csv")
CSV2 <- read_csv("C:\\Users\\AH0168850\\Desktop\\Claims.csv")

class(CSV1$claim_amount)
class(CSV2$claim_amount)

CSV1$claim_amount <- as.numeric(CSV1$claim_amount)
CSV2$claim_amount <- as.numeric(CSV2$claim_amount)
CSV2$claim_amount <- as.numeric(sub('\\$','',CSV2$claim_amount))

Claim_amount具有$值。当我使用read.csv时,claim_amount被分类为因素,而read_csv将其分类为字符。

在执行as.numeric将列转换为数字时,使用read.csv导入的数据可以顺利通过。但是,使用read_csv导入的数据会将所有值都转换为NA,并带有警告“强制性引入的NA”

要成功转换read_csv数据,在使用as.numeric之前,我必须使用替代方法。有几个线程强调了类似功能的使用

例如: http://r.789695.n4.nabble.com/Converting-dollar-value-factors-to-numeric-td2130536.html

https://www.rforexcelusers.com/remove-currency-dollar-sign-r/

但是,我找不到任何能解释这种情况发生的原因。我确实读过read.csv强制了字符变量,但是我不确定为什么使用as.numeric会有所不同。

0 个答案:

没有答案