理解read.csv代码的困难

时间:2015-07-10 08:38:17

标签: r

我正在提高我的R技能,重建他们在r-blogger上所做的一些惊人的事情。现在我试图重现这个: http://wiekvoet.blogspot.nl/2015/06/deaths-in-netherlands-by-cause-and-age.html。可以在此处找到此excersize的相关数据集:

http://statline.cbs.nl/Statweb/publication/?VW=D&DM=SLNL&PA=7052_95&D1=0-1%2c7%2c30-31%2c34%2c38%2c42%2c49%2c56%2c62-63%2c66%2c69-71%2c75%2c79%2c92&D2=0&D3=0&D4=0%2c10%2c20%2c30%2c40%2c50%2c60%2c63-64&HD=150710-0924&HDR=G1%2cG2%2cG3&STB=T

如果我潜入代码(可以在第一个链接的底部找到)并且遇到这段代码:

 r1 <- read.csv(sep=';',header=FALSE,
    col.names=c('Causes','Causes2','Age','year','aantal','count'),
    na.strings='-',text=txtlines[3:length(txtlines)]) %>%
select(.,-aantal,-Causes2)

有人可以帮我分开这里采取的步骤吗?

2 个答案:

答案 0 :(得分:2)

以下是对read.csv()调用中每行代码的解释。请注意,最后一个参数text的分配很复杂,并且取决于您在上面给出的链接中的脚本。从高级别开始,他首先阅读包含字符串"Overledenen__doodsoo_170615161506.csv"的文件"Centraal"中的所有行,仅使用该过滤集的第三行到最后一行。这些行还有一个额外的步骤。

r1 <- read.csv( # columns separate by semi-colon
               sep=';',
                # first row is data (i.e. is NOT a header)
               header=FALSE,
                # names of the six columns
               col.names=c('Causes','Causes2','Age','year','aantal','count'),
                # treat hyphen as NA
               na.strings='-',
                # read from third line to final line of the original input
                # Overledenen__doodsoo_170615161506.csv, after some
                # filtering has been applied
               text=txtlines[3:length(txtlines)]) %>% select(.,-aantal,-Causes2)

答案 1 :(得分:2)

read.csv,读取csv文件,用分隔符分隔列&#34 ;;&#34; 所以像这样的输入a; b; c将分开:first column = a,second = b,third = c

header = FALSE - &gt;它指定原始文件中没有标题。

col.names将列出的名称分配给r

中的列

na.strings =&#39; - &#39;用&#39; - &#39;

替换NA值

text = txtlines [3:length(txtlines)])读取从第3位到结尾的行。

%&gt;%select(。, - aantal,-Causes2)过滤数据框