【问题标题】:Importing data from Excel to vector in R将数据从 Excel 导入 R 中的向量
【发布时间】:2017-10-20 08:19:32
【问题描述】:

我是 R 的新手,我在尝试让 R 和 Excel 合作时遇到了一些麻烦。 我编写了一个代码,使它能够相互比较两个向量并确定它们之间的差异:

data.x<-read.csv(file.choose(), header=T)

data.y<-read.csv(file.choose(), header=T)

newdata.x<-grep("DAG36|G379",data.x,value=TRUE,invert=TRUE)

newdata.x

newdata.y<-grep("DAG36|G379",data.y,value=TRUE,invert=TRUE)

newdata.y

setdiff(newdata.x,newdata.y)

setdiff(newdata.y,newdata.x)

我想从 Excel 传输到 R 的数据是一长排数字,如下所示: “312334-2056”、“457689-0932”、“857384-9857”、……、

这些数字中大约有 350 个放置在一行中的单独单元格中。

我使用了命令: = """" & A1 & """" 为每个数字加上双引号,以便 R 正确读取它。

起初我尝试简单地将数据直接复制/粘贴到 R 中的向量中,但好像 R 不会将其作为单行数据读取并因此将其拆分。 我还尝试将 excel 文件另存为 CSV 文件,但也没有用。

最后我尝试使用命令直接在 R 中打开它:

data.x<- read.csv(file.choose(), header=T)

但是当我输入:data.x 并按回车时,它只是说:

<0 rows> (or 0-lenghts row.names)

我根本不知道我做错了什么。任何帮助将不胜感激。

【问题讨论】:

  • 你能显示几行你的输入数据吗?
  • 在 R 中,行通常对应于观察值,列对应于变量。在 Excel 中转置你的数据,你应该没问题。
  • 您也可以尝试通过安装/使用包 xlsx 来读取您的 Excel 文件,例如通过read.xlsx2(file, sheetIndex = 1, header=TRUE, colClasses="character")。该包有许多依赖项,读取速度比read.csv() 慢得多,但是,在某些情况下,处理 xls/xslx 格式的文件可能会更好。

标签: r excel csv


【解决方案1】:

如果没有可重现的示例,很难访问,但您应该能够将 Excel 文件转换为单列。然后使用 readr 包中的 read_csv 导入。看看 tidyverse 包,其中包含一些用于导入和处理此类数据的强大工具。

【讨论】:

    【解决方案2】:

    我使用https://github.com/tidyverse/readxl/。它可以轻松地将格式从 excel 维护到类型安全的小标题中。

    如果您可以共享一些示例数据,则可以生成可行的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-13
      • 2021-03-02
      • 2015-08-30
      • 1970-01-01
      • 2013-10-25
      • 2015-08-15
      • 1970-01-01
      相关资源
      最近更新 更多