楼主: Aria_Chen
1454 2

[问答] 如何管理众多同一个S4对象的实例 [推广有奖]

  • 0关注
  • 0粉丝

学前班

70%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
23 点
帖子
2
精华
0
在线时间
2 小时
注册时间
2017-6-19
最后登录
2017-6-28

楼主
Aria_Chen 发表于 2017-6-19 04:33:47 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题一,如何将众多实例组合成一个集合?


  1. > setClass("Testit",representation(ID="numeric",name="character",book="Fangjibook"))
  2. > A1<-new("Testit",ID=1)
  3. > A2<-new("Testit",ID=2)
  4. > A3<-new("Testit",ID=3)
  5. > class(A1)
  6. [1] "Testit"
  7. attr(,"package")
  8. [1] ".GlobalEnv"
  9. > Agroup<-c(A1,A2,A3)
  10. > class(Agroup)
  11. [1] "list"
  12. > class(Agroup[1])
  13. [1] "list"
  14. > isS4(A1)
  15. [1] TRUE
  16. > isS4(Agroup[1])
  17. [1] FALSE
复制代码

可见,用list组合众多实例不可行。


问题二,如何获得环境内一个S4对象的所有实例的列表?
其实这个问题也涉及到第一个问题,即实例的结合问题。

请大神指点!


二维码

扫码加我 拉你入群

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

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

关键词:Presentation Presentatio Character represent Present

沙发
wkxxkw 发表于 2017-6-19 07:07:14
不清楚是什么语言写的代码,但我初步分析如下:如代码所写Agroup是list的话,放的肯定不是对象的实例,最多只能放一个对象的实例的address或者reference,所以代码isS4(Agroup[1])肯定不能行得通。处理建议,1.把Agroup[1]中的内容拿出来显式的转型cast为本来的对象,2.list中可以存放对象没问题,存的时候是不是可能得处理一下呢?

藤椅
Aria_Chen 发表于 2017-6-19 11:39:11
wkxxkw 发表于 2017-6-19 07:07
不清楚是什么语言写的代码,但我初步分析如下:如代码所写Agroup是list的话,放的肯定不是对象的实例,最多 ...
感谢您的回答!
语言为R语言。
用setAs可以强制转换,但效率太差了

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 11:45