【问题标题】:R software, read.csv, multiple separatorsR 软件,read.csv,多个分隔符
【发布时间】:2020-08-09 15:42:33
【问题描述】:

有谁知道在 R 中读取带有多个分隔符的 csv 文件的方法?

a<-read.csv("C:/Users/User/Desktop/file.csv", sep=",", header=FALSE)

在这里,我有以下数据集(txt/csv 文件),用逗号和空格分隔:

5.006,84.698  
4.604,87.725  7.250,88.392  
6.668,91.556  
5.927,95.440  
4.953,99.695  7.387,100.489  
6.466,104.447  
5.599,107.548  
4.053,111.411  7.440,112.892  
6.096,116.417  
4.805,119.031  7.546,120.671  
6.149,123.793  
4.307,127.201  7.461,129.974  
5.493,132.853  7.641,135.393  

我希望它被读取为具有四列的表格,如下所示:

72 5.006  84.698    NA      NA  
73 4.604  87.725 7.250  88.392  
74 6.668  91.556    NA      NA  
75 5.927  95.440    NA      NA  
76 4.953  99.695 7.387 100.489  
77 6.466 104.447    NA      NA  
78 5.599 107.548    NA      NA  
79 4.053 111.411 7.440 112.892  
80 6.096 116.417    NA      NA   
81 4.805 119.031 7.546 120.671  
82 6.149 123.793    NA      NA  
83 4.307 127.201 7.461 129.974  
84 5.493 132.853 7.641 135.393  

您知道在 R 中以这种方式读取它的可能方式吗?

【问题讨论】:

    标签: r csv read.csv


    【解决方案1】:

    您可以在任何文本编辑器(记事本或类似工具)中打开文件,并使分隔符在文件中通用。您可以使用空格替换',',反之亦然,使用全部查找并替换并保存文件。

    完成此操作后,您可以将read.csv 与这个新分隔符一起使用。

    a <- read.csv("C:/Users/User/Desktop/file.csv", sep= " ", header=FALSE, fill = TRUE)
    

    【讨论】:

      【解决方案2】:

      我们可以尝试使用readLines() 将每一行读取为一个字符串。然后,我们可以在多个分隔符上拆分并汇总成一个数据框。

      file <- "C:/Users/User/Desktop/file.csv"
      txt <- readLines(file, sep = ""))
      y <- strsplit(txt, "[, ]+")
      z <- lapply(y,function(x){as.data.frame(t(as.numeric(x)))})
      df <- do.call(rbind.fill, z)
      df
      

      【讨论】:

        【解决方案3】:

        一种选择是使用 Excel。您可以在导入阶段(向导步骤 2)选择 多个 分隔符(分隔符)。逗号和空格是默认选项之一,但您也可以选择其他字符。

        然后使用许多用户提供的软件包之一导入 excel 文件,例如 readxl,或另存为文本并使用 read.csv / read.table

        【讨论】:

          猜你喜欢
          • 2019-10-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-03
          • 2020-05-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多