当我尝试导出数据列表"C1"时遇到问题,它是一个"列表列表",有两列和可变的行数,如您所见。
> str(c1)
List of 8
$ :'data.frame': 432 obs. of 2 variables:
..$ FECHA : Date[1:432], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
..$ El.Hato..21201210.I: num [1:432] 14 57 6 43 67 62 18 33 62 99.9 ...
$ :'data.frame': 228 obs. of 2 variables:
..$ FECHA : Date[1:228], format: "1996-01-01" "1996-02-01" "1996-03-01" "1996-04-01" ...
..$ Guanata..21205890.I: num [1:228] 32.8 90.7 131.4 67.1 84.4 ...
$ :'data.frame': 348 obs. of 2 variables:
..$ FECHA : Date[1:348], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
..$ La.Pradera..2120044.C: num [1:348] 5 37 57 40 85 NA NA NA 33 184 ...
$ :'data.frame': 432 obs. of 2 variables:
..$ FECHA : Date[1:432], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
..$ Las.Margaritas..2120071.C: num [1:432] 11 14 3 15 66 45 6 7 12 29 ...
$ :'data.frame': 432 obs. of 2 variables:
..$ FECHA : Date[1:432], format: "1980-01-01" "1980-02-01" "1980-03-01" "1980-04-01" ...
..$ Pantano.Redondo..21201060.I: num [1:432] 33.4 80.7 64.1 67.2 122.3 ...
$ :'data.frame': 336 obs. of 2 variables:
..$ FECHA : Date[1:336], format: "1987-01-01" "1987-02-01" "1987-03-01" "1987-04-01" ...
..$ Sabaneta..23065100.I: num [1:336] 140.8 46.7 114.7 73.4 129.2 ...
$ :'data.frame': 384 obs. of 2 variables:
..$ FECHA : Date[1:384], format: "1982-01-01" "1982-02-01" "1982-03-01" "1982-04-01" ...
..$ Santillana..21206020.I: num [1:384] 38.5 89.8 52.5 187.7 119.4 ...
$ :'data.frame': 336 obs. of 2 variables:
..$ FECHA : Date[1:336], format: "1987-01-01" "1987-02-01" "1987-03-01" "1987-04-01" ...
..$ Tabio.GJA: num [1:336] NA NA NA NA NA ...
我尝试使用通常的导出数据函数以及此处找到的其他解决方案,但问题是我的数据列表的尺寸......
write.xlsx(mydata, "c:/mydata.xlsx")
write.table(c1, "c:/cluster1.txt", sep="t")
我总是收到此错误
Error in (function (..., row.names = NULL, check.rows = FALSE, check.names = TRUE, :
arguments imply differing number of rows: 432, 228, 348, 336, 384
我非常感谢这方面的任何帮助。
凯文·戴维森
查看 write.xlsx
和 write.table
的帮助文件。这些函数接受数据框作为参数,而不是列表。您要么需要将此列表转换为数据框(使用 plyr
中的ldply
),要么只需使用 for 循环写入 8 个不同的数据框,正如 akrun 所建议的那样。如果只想保存对象以供以后在 R 中使用,请使用 save
或 saveRDS.
同样,检查这些命令的帮助文件并确定哪一个最适合您的需求。
为了解决这个问题,我只需在每个列表中包含相同的日期行,每个列表有 432 行,并用 NA 填充它以导出数据。