首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何回忆r中"xtabs“函数的输出?

如何回忆r中"xtabs“函数的输出?
EN

Stack Overflow用户
提问于 2013-10-18 14:25:16
回答 1查看 737关注 0票数 0

我有一个大数据集,它有lat,lon,时间和,值。我使用"xtab“函数完全重塑我的数据集矩阵,并将其转换为我需要的表单。现在的问题是,我不知道如何收回或导出由"xtabs“函数创建的新输出矩阵。

这是我的原始数据集的一部分:

代码语言:javascript
复制
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 

这是命令行:

代码语言:javascript
复制
AMS <- read.csv("C:\\Users\\wildfire.Acres.csv",header=TRUE)
xtabs(value~lat+lon+month, data=AMS, exclude="")

这是产出的一部分:

代码语言:javascript
复制
,   ,   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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-18 16:29:12

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

代码语言:javascript
复制
res <- xtabs(value~lat+lon+month, data=AMS, exclude="")
res[ ,  , "1980.1"]

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

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

代码语言:javascript
复制
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

我仍然不清楚什么产出或结果是需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19452107

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档