楼主: 萌の迓
2366 2

[问答] 求助,有关apply的输出形式 [推广有奖]

  • 0关注
  • 0粉丝

初中生

80%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
209 点
帖子
8
精华
0
在线时间
18 小时
注册时间
2014-2-20
最后登录
2014-11-20

楼主
萌の迓 学生认证  发表于 2014-6-4 13:07:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
想对数组进行双线性插值,如下:
> 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,]


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

扫码加我 拉你入群

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

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

关键词:apply appl App function Surface apply 双线性插值

沙发
Aharach 发表于 2014-6-6 06:32:46
用 lapply试试?

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 21:27