R标头开头的多余数据

Eri*_*tto 1 visualization r

我正在使用以下脚本将.txt文件读入R中.出于某种原因,即使我在标题中只有21个元素,它声称我有22个.这使得读取表函数出错,因为其余的行该文件只有21项.

当我使用扫描功能时,我注意到我的标题实际上从元素2开始,而元素1是空的,就像这样.""

在我看来,问题是某些东西正在被读入第一个元素,而不应该.我不明白这一点,因为第一行是一个前面没有空格的字符串.

library(foreign)

setwd("/Library/A_Intel/")

filelist <-list.files()

#assuming tab separated values with a header    
datalist = lapply(filelist, function(xx)read.table(xx, header=T, sep=";")) 

#assuming the same header/columns for all files
datafr = do.call("rbind", datalist)  
Run Code Online (Sandbox Code Playgroud)

谢谢!

编辑1

TIME ;POWER SOURCE ;qty MONITORS ;NUM PROCESSORS ;freq of CPU Mhz ;SCREEN SIZE ;CPU LOAD ;BATTERY LEVEL ; KEYBOARD MVT ; MOUSE MVT ;BATTERY MWH ;HARD DISK SPACE ;NUMBER PROCESSES ;RAM   ;FOCUS APP ;
2010-08-09-14:57:29.423 ; AC ; 1 ; 2 ; 1600 ; 1280 : 800  ; 0.434570 ; 100 ; NO ; NO ; 38119596 ; 66.388687  ;  65    ; 1446.54296875   ; Xcode-#6294  ; 
2010-08-09-14:57:30.422 ; AC ; 1 ; 2 ; 1600 ; 1280 : 800  ; 0.399414 ; 100 ; NO ; NO ; 38119596 ; 66.388687  ;  65    ; 1446.55859375   ; Xcode-#6294  ; 
2010-08-09-14:57:31.421 ; AC ; 1 ; 2 ; 1600 ; 1280 : 800  ; 0.399414 ; 100 ; NO ; YES ; 38119596 ; 66.388687  ;  65    ; 1446.9375   ; Xcode-#6294  ; 
2010-08-09-14:57:32.421 ; AC ; 1 ; 2 ; 1600 ; 1280 : 800  ; 0.399414 ; 100 ; NO ; YES ; 38119596 ; 66.388687  ;  65    ; 1446.875   ; Xcode-#6294  ; 
2010-08-09-14:57:33.421 ; AC ; 1 ; 2 ; 1600 ; 1280 : 800  ; 0.399414 ; 100 ; NO ; YES ; 38119596 ; 66.388695  ;  65    ; 1445.7890625   ; Xcode-#6294  ; 
2010-08-09-14:57:34.421 ; AC ; 1 ; 2 ; 1600 ; 1280 : 800  ; 0.399414 ; 100 ; NO ; YES ; 38119596 ; 66.388695  ;  65    ; 1444.84765625   ; Xcode-#6294  ; 
Run Code Online (Sandbox Code Playgroud)

我一直在玩一个文件,我仍然遇到同样的问题.我注意到,当你标记'header ="TRUE"时,标题需要比数据少一列.我认为这会有所帮助,因为第一列将被视为索引,而是数据框将其标记在我的第一个类别中,即该行中的最后一个值没有列名.

再次感谢!

编辑2

这是一个典型的错误:

 Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings,  : 
   line 1 did not have 16 elements
Run Code Online (Sandbox Code Playgroud)

Gre*_*reg 7

问题不在于您的标题 - 它是最后一个字段中的#.它被视为评论角色.如果您设置comment.char =""或等效的东西,它将起作用.我将您的数据复制到名为testdata.txt的文件中

read.table("testdata.txt", sep = ";", header=T, comment.char="")
Run Code Online (Sandbox Code Playgroud)

这很有效.

错误"第1行没有16个元素"意味着标题有16个元素(它一直读到最后一个分号),而第一行只有15个(终端分号被注释掉).