全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
2312 2
2014-06-04
想对数组进行双线性插值,如下:
> old=array(1:18,c(2,3,3))
> old
, , 1
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
, , 2
     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12
, , 3
     [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18

> apply(old,3,function(old, newx=4, newy=4)
+   interp.surface.grid(list(x=seq(nrow(old)),y=seq(ncol(old)),z=old),
+                       list(x=seq(1,nrow(old),length=newx),
+                            y=seq(1,ncol(old),length=newy)))$z)

          [,1]      [,2]     [,3]
[1,] 1.000000  7.000000 13.00000
[2,] 1.333333  7.333333 13.33333
[3,] 1.666667  7.666667 13.66667
[4,] 2.000000  8.000000 14.00000
[5,] 2.333333  8.333333 14.33333
[6,] 2.666667  8.666667 14.66667
[7,] 3.000000  9.000000 15.00000
[8,] 3.333333  9.333333 15.33333
[9,] 3.666667  9.666667 15.66667
[10,] 4.000000 10.000000 16.00000
[11,] 4.333333 10.333333 16.33333
[12,] 4.666667 10.666667 16.66667
[13,] 5.000000 11.000000 17.00000
[14,] 5.333333 11.333333 17.33333
[15,] 5.666667 11.666667 17.66667
[16,] 6.000000 12.000000 18.00000   


我想要的结果是以这样的 形式给出的:(手动打的)
, , 1
     [,1] [,2] [,3] [,4]
[1,]   
[2,]   
[3,]  
[4,]  

, , 2
     [,1] [,2] [,3] [,4]
[1,]   
[2,]   
[3,]
[4,]

, , 3
     [,1] [,2] [,3] [,4]
[1,]   
[2,]   
[3,]
[4,]


请问该如何改代码啊??
跪求啊!!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-6-6 06:32:46
用 lapply试试?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-6-9 10:55:23
Aharach 发表于 2014-6-6 06:32
用 lapply试试?
用lapply还是不行。。不过我已经知道该如何截取各维的数据了,问题已解决,还是非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群