首页 文章

使用R data.table fread读取完全引用的.csv文件

提问于
浏览
1

我正在尝试读取每个单元格中带引号的.csv文件,如下所示:
"a","b"
"1","hello"
"2","hello, test"

使用read.csv()它可以正常使用整数类型的列“a” . 但是对于data.table :: fread(),列“a”的类型是字符 .

x <- fread("\"a\",\"b\"\n\"1\",\"hello\"\n\"2\",\"hello, test\"")
summary(x)  

    a                  b            
Length:2           Length:2          
Class :character   Class :character  
Mode  :character   Mode  :character

有没有办法告诉fread确定完全引用的.csv文件中的列类型?

1 回答

  • 2
    x <- fread("\"a\",\"b\"\n\"1\",\"hello\"\n\"2\",\"hello, test\"")
    x[, names(x) := lapply(.SD, type.convert, as.is = TRUE)]
    summary(x)
    
        a             b            
    Min.   :1.00   Length:2          
    1st Qu.:1.25   Class :character  
    Median :1.50   Mode  :character  
    Mean   :1.50                     
    3rd Qu.:1.75                     
    Max.   :2.00
    

相关问题