首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在R中遍历S4对象?

如何在R中遍历S4对象?
EN

Stack Overflow用户
提问于 2021-02-14 17:47:14
回答 1查看 37关注 0票数 0

我创建了一个包含图片的类。对于这个类,我创建了两个对象(两张图片)。我想要一个能打印所有图片的循环。

代码语言:javascript
复制
```{r echo=FALSE, comment=""}

生成类

setClass(“图片”,slots=list(id=“数字”,path=“字符”)

添加第一张图片

full_file_path <- "testphoto.JPG“

图片<- pic_obj (“图片”,id=1,path=full_file_path)

添加第二张图片

full_file_path <- "parrot.jpeg“

图片<- pic_obj (“图片”,id=2,path=full_file_path)

循环槽图片(如何?为?foreach?while?)

cat("ID=",pic_obj@id,"\n")

cat("Path=",pic_obj@path,"\n")

代码语言:javascript
复制

这将打印:

代码语言:javascript
复制
ID= 2 
Path= parrot.jpeg 

然而,我想这样做:

代码语言:javascript
复制
ID= 1 
Path= testphoto.JPG
ID= 2 
Path= parrot.jpeg 
EN

回答 1

Stack Overflow用户

发布于 2021-02-24 22:34:31

正如评论中提到的,这两行

代码语言:javascript
复制
pic_obj <- new("Picture", id=1, path=full_file_path)

代码语言:javascript
复制
pic_obj <- new("Picture", id=2, path=full_file_path)

创建一个名为pic_obj的对象,然后覆盖它,这样第一个对象就会丢失。相反,尝试以下两种方式之一

代码语言:javascript
复制
pic_obj_1 <- new("Picture", id=1, path=full_file_path)
pic_obj_2 <- new("Picture", id=2, path=full_file_path)

代码语言:javascript
复制
pic_obj <- new("Picture", id=1:2, path=c(full_file_path_1,full_file_path_2))

如果使用第二种方法,则需要确保为picture类编写的任何方法(函数)都可以使用向量参数。

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

https://stackoverflow.com/questions/66194159

复制
相关文章

相似问题

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