r - R S3如何获得
问题描述
我的问题是:从传递给函数的参数中获取对象属性的最佳方法是什么。例如,下面我展示了我的代码中的示例。
tsdScene <- function(...){
scene <- list(..., sceneLength = length(list(...)), tsdList = list(...))
class(scene) <- "tsdScene"
return(scene)
}
因此,作为一个 tsdList,我将所有对象都传递给一个函数(在本例中,它是来自另一个类的对象 s1 和对象 s2)。现在当我使用:
test <- tsdScene(s1,s2)
test$tsdList
我得到作为回报:
$freq
[1] 12
但是当我尝试使用
test$tsdList$freq
我得到NULL。这是我的主要问题。我怎样才能得到这个 $freq 参数?我会感谢任何提示。
解决方案
如果您tsdScene
使用两个参数调用,您将获得一个test$tsdList
包含两个成员的列表。
也许你想要test$tsdList[[1]]$freq
或test$tsdList[[2]]$freq
.
s1 <- 1
s2 <- list(freq = 12)
test <- tsdScene(s1, s2)
test$tsdList
#[[1]]
#[1] 1
#
#[[2]]
#[[2]]$freq
#[1] 12
test$tsdList[[2]]
#$freq
#[1] 12
所以你可以freq
访问
test$tsdList[[2]]$freq
#[1] 12
推荐阅读
- sql - BigQuery - 查询每个元素
- c# - 将 json 字符串中的 24 字符十六进制值解析为 BsonObjectId
- python - 在界面中导入 CSV 文件
- php - 外部库上的 Visual Studio Code PHP 自动完成
- java - 如何将自定义对象列表重新组合成 Java 中的地图?
- python - Django/Docker/Logging:日志文件为空
- css - 为什么 flexbox 让我的广告内容消失(有时)?
- python-3.x - Azure ML 中的 Keras model.fit 失败
- sql - 计算 json 对象中键的出现次数 - IMPALA/HIVE
- python - Python - 运行 docker-compose up 时“import boto3”的 ValueError