【发布时间】: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 格式的文件可能会更好。