0

我有一个具有纬度、经度、时间和价值的大数据集。我使用“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
4

1 回答 1

0

输出不是矩阵,而是数组。要访问该数组的“1980.1”切片,您首先将结果分配给一个命名对象:

res <- xtabs(value~lat+lon+month, data=AMS, exclude="")
res[ ,  , "1980.1"]

您说您“在 Excel 中打开了结果”。您是否剪切并粘贴了屏幕输出?

当您使用write.csv简单的 3x3x3 矩阵(不是为输出数组而设计的函数)时,第三维会丢失:

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

我仍然不清楚需要什么输出或结果。

于 2013-10-18T16:29:12.353 回答