我在read.csv中使用skip选项跳过几行,然后从csv文件读入我的数据帧。但是,当我在执行此操作时执行名称(数据帧)时,我会丢失列名并将一些随机字符串作为列名称。为什么会这样?
> mydf = read.csv("mycsvfile.csv",skip=100)
> names(mydf)
[1] "X2297256" "X3"
没有跳过选项,它可以正常工作
> mydf = read.csv("mycsvfile.csv")
> names(mydf)
[1] "col1" "col2"
答案 0 :(得分:8)
如果您跳过文件中的行,则跳过整行,因此如果您的标题位于第一行并且您跳过100行,则将跳过标题行。如果您想跳过部分文件并仍保留标题,则需要单独阅读
headers <- names(read.csv("mycsvfile.csv",nrows=1))
mydf <- read.csv("mycsvfile.csv", header=F, col.names=headers, skip=100)
答案 1 :(得分:0)
没有必要单独读入标题。您可以在数据框中使用负索引在一行中执行此操作,其中负索引表示“保留除负索引(范围)以外的所有行”。
因此,如果你想保留标题,然后跳过前N行,你只需要这样做:
mydf<-read.csv("mycsvfile.csv",header=T)[-1:-N,]