2017-03-27 39 views
-1

时遗漏了列我有一个大逗号delimted文件看起来是这样的:[R使用read.csv

LS_trap_10c,7C000000395C1641,trap10c_7C000000395C1641_150809.csv,c,5/30/2015,1800,25 
LS_trap_10c,7C000000395C1641,trap10c_7C000000395C1641_150809.csv,c,5/30/2015,2000,24.5 
LS_trap_10c,7C000000395C1641,trap10c_7C000000395C1641_150809.csv,c,5/30/2015,2200,24.5 
LS_trap_10c,7C000000395C1641,trap10c_7C000000395C1641_150809.csv,c,5/31/2015,000,24 
LS_trap_10c,7C000000395C1641,trap10c_7C000000395C1641_150809.csv,c,5/31/2015,200,23.5 
LS_trap_10c,7C000000395C1641,trap10c_7C000000395C1641_150809.csv,c,5/31/2015,400,23.5,97 
LS_trap_10c,7C000000395C1641,trap10c_7C000000395C1641_150809.csv,c,5/31/2015,600,23.5,98.5 

正如你可以看到数据变化(底部两个实例有一个额外的列)和并非所有列都包含值。该数据显示正确在Excel中,但是当我试图在RStudio打开它:

my_trap_dat = read.csv("path_to_file/la_selva_log.csv",(header = FALSE)) 

它不包含所有数据 - 它留下了最后的栏柱,所以我有7列,而不是8需要显示所有数据。在最后一列中的数据似乎刚刚从集合中删除,当你加载到R.

我发现this

数据列的数目由看的第一个五年 线确定的输入(如果输入少于五行,则输入为整个输入),或者如果指定并且较长,则从col.names的长度中输入 。

但我不确定如何实施任何修改我的问题的更改。

我该如何让所有数据都保存在R中?

+0

给您的数据报头的每一列,然后将标题设置为true。也可以对数据进行排序,以便列数最多的行位于顶部。 – Jean

+2

我猜这是来自实验室仪器,因此除了给出的答案外,请考虑(1)查看仪器软件是否具有CSV导出的任何配置选项,以及(2)让供应商知道其导出的CSV是无效。 – neilfws

+0

感谢您的提示 - 我实际上没有访问设备本身,只能访问我们试图理解的档案数据文件。而他们的出口csv是非常残酷的,除此之外的许多原因。 – 5r9n

回答

0

这个问题已经回答StackOverflow上:

  1. How can you read a CSV file in R with different number of columns
  2. Read a text file with variable number of columns to a list

我敢肯定,你找到更多关于使用搜索堆栈溢出。

简单的例子(给出你导出的CSV无效):

my_file = file("path_to_file/la_selva_log.csv") 
my_data = strsplit(readLines(my_file), ",") 
close(my_file) 
+1

如果它是重复的,请留下评论和链接,并避免回答。 – zx8754

+0

感谢您的建议。 –