我有一个大数据集,它有lat,lon,时间和,值。我使用"xtab“函数完全重塑我的数据集矩阵,并将其转换为我需要的表单。现在的问题是,我不知道如何收回或导出由"xtabs“函数创建的新输出矩阵。
这是我的原始数据集的一部分:
number lon lat month value
1 -124.5 31.5 1980.1 NA
2 -123.5 31.5 1980.1 NA
3 -122.5 31.5 1980.1 NA
4 -121.5 31.5 1980.1 NA
5 -120.5 31.5 1980.1 NA
6 -119.5 31.5 1980.1 NA 这是命令行:
AMS <- read.csv("C:\\Users\\wildfire.Acres.csv",header=TRUE)
xtabs(value~lat+lon+month, data=AMS, exclude="")这是产出的一部分:
, , month = 1980.1
lon
lat -124.5 -123.5 -122.5 -121.5 -120.5
31.5 0 0 0 0
32.5 0 0 0 0
33.5 0 0 0 0
34.5 0 0 0 0
35.5 0 0 0 0
36.5 0 0 0 0.1
37.5 0 0 0.1 0
38.5 0 0 0.2 0发布于 2013-10-18 16:29:12
输出不是矩阵,而是数组。要访问该数组的"1980.1“片,首先要将结果分配给一个命名对象:
res <- xtabs(value~lat+lon+month, data=AMS, exclude="")
res[ , , "1980.1"]你说你“在Excel中打开了结果”。你剪切并粘贴屏幕输出了吗?
当您使用简单的3x3x3矩阵使用write.csv (不是为输出数组而设计的函数)时,第三维空间就丢失了:
res <- array(1:27, dim=c(3,3,3))
write.csv(res,"res1980.1.csv")
# What my text editor shows:
"","X1","X2","X3","X4","X5","X6","X7","X8","X9"
"1",1,4,7,10,13,16,19,22,25
"2",2,5,8,11,14,17,20,23,26
"3",3,6,9,12,15,18,21,24,27我仍然不清楚什么产出或结果是需要的。
https://stackoverflow.com/questions/19452107
复制相似问题