更改R

时间:2016-03-13 12:28:43

标签: r

我有一个包含5000多个元素的列表,我希望将它们保存在具有特定处置的.csv数据框中。

library(XML)
url <- "http://www.omie.es/aplicaciones/datosftp/datosftp.jsp?path=/marginalpdbc/"
doc <- htmlParse(url)
links <- xpathSApply(doc, "//a/@href")
free(doc)
head(links)

wanted <- links[grepl("http*", links)]
head(wanted)
GetMe <- paste("", wanted, sep = "")

datos<-lapply(seq_along(GetMe),
              function(x) read.csv(GetMe[x], header = F, sep = ";", as.is = TRUE,skip=1))

像这样,我有7个变量,每个列表元素有25个实例。

     V1 V2 V3 V4    V5         V6 V7
1  1999  1  1  1 3.350 0.02030303 NA
2  1999  1  1  2 3.595 0.02178788 NA
3  1999  1  1  3 3.293 0.01995758 NA
4  1999  1  1  4 2.800 0.01696970 NA
5  1999  1  1  5 2.516 0.01524848 NA
6  1999  1  1  6 2.516 0.01524848 NA
7  1999  1  1  7 2.516 0.01524848 NA
8  1999  1  1  8 2.516 0.01524848 NA
9  1999  1  1  9 2.516 0.01524848 NA
10 1999  1  1 10 2.516 0.01524848 NA
11 1999  1  1 11 2.516 0.01524848 NA
12 1999  1  1 12 2.840 0.01721212 NA
13 1999  1  1 13 2.840 0.01721212 NA
14 1999  1  1 14 3.595 0.02178788 NA
15 1999  1  1 15 3.586 0.02173333 NA
16 1999  1  1 16 2.840 0.01721212 NA
17 1999  1  1 17 2.840 0.01721212 NA
18 1999  1  1 18 2.840 0.01721212 NA
19 1999  1  1 19 4.172 0.02528485 NA
20 1999  1  1 20 3.639 0.02205455 NA
21 1999  1  1 21 3.661 0.02218788 NA
22 1999  1  1 22 3.661 0.02218788 NA
23 1999  1  1 23 3.661 0.02218788 NA
24 1999  1  1 24 3.638 0.02204848 NA
25    * NA NA NA    NA         NA NA

我希望将它们全部放在同一个数据框中,并采用以下处理方式:

FECHA   A„O MES DIASEM  DIA H1  H2  H3  H4  H5  H6  H7  H8  H9  H10 H11 H12 H13 H14 H15
01/01/2003  2003    1   M   1   15  10.97   8.22    5.24    2.65    2.13    2.06    0.02    0   0   0.77    2.1 3.5 5.33    6.33
02/01/2003  2003    1   J   2   8.33    4.2 2.87    2.63    2.56    2.56    3.51    5.15    10  17.17   20  21.02   21.02   20  17.62
03/01/2003  2003    1   V   3   14.27   9.47    5.08    3.57    3.01    3.01    4.61    9.41    12.83   16.27   17.62   19.66   19.6    17.62   16.2

其中V1是年份,V2是月份,V3是日期,V4是小时,列表的V6对应于每行的值。

在最终数据框中,每小时必须是一列。

感谢您的帮助!

0 个答案:

没有答案