r - R访问引用类对象列表中的字段值
问题描述
希望我能理解这一点。我是 R 的新手。我正在尝试转移一些 Python 库并尝试将我的头脑围绕 R 类。
我有以下参考类:
curve <- setRefClass("curve",
fields = list(
runID="character",
x="numeric",
y="numeric"
),
methods = list(
mean = function(a, b){
(a + b)/2
},
calculateYCrossover = function(leftBound, rightBound, target, upDown){
i <- 0
for (xPoint in x){
i<-i+1
if (xPoint >= leftBound & xPoint <= rightBound){
if (upDown == "up"){
if (y[i] >= target & y[i-1] < target){
xCoord <- xPoint
yCoord <- y[i]
result <- 1
}
}
if (upDown == "down"){
if (y[i] <= target & y[i-1] > target){
xCoord <- xPoint
yCoord <- y[i]
result <- 1
}
}
}
}
return(xCoord)
}
)
)
所以我正在创建一个文件目录中所有曲线的列表。我打开一个目录,并为目录中的每个文件创建一个新曲线对象,分配字段值,然后将该新曲线对象附加到我的曲线列表中。
nm <- list.files(path="C:/Users/C176616/OneDrive - Eli Lilly and Company/PAM R/PAM R/data")
setwd("./data")
curves <- c()
for (filen in nm){
mCurve <- curve$new()
rawCurve <- read_csv(filen, na = "empty", skip = 278)
mCurve$runID <- filen
mCurve$x <- head(rawCurve$mm, -1)
mCurve$y <- head(rawCurve$N, -1)
curves <- append(curves, mCurve)
}
在环境资源管理器中,一切看起来都是正确的。我可以看到我的列表,并且我可以看到每个曲线对象的字段 runID、x 和 y 都填充了正确的数据。
如何访问单个曲线的字段值?
curve[1]$runID
返回 NULL。
但如果我打印curve[1]
,我可以看到一个具有 3 个字段的引用类“曲线”的对象 ..$ runID:
关于为什么每个字段会返回 NULL 的任何想法?
谢谢!
解决方案
推荐阅读
- c# - 为什么 HttpClient.GetAsync() 缺少部分内容?
- audio - 通过代码创建简单的声音,例如 8 位
- css - 降低 Woocommerce Storefront 主题页脚高度
- jenkins - 带有詹金斯作业参数的 Slack Slash 命令
- javascript - 使用 Javascript 将日期验证为必填字段
- reactjs - 在 React 中,是否可以只覆盖 HTML 模板,而不是整个类?
- forms - VueJS v-model 动态输入表单
- php - 如何在 React Native 中通过上传图像获取数据到 php 服务器
- python-3.x - Python 控制台要求在 PyCharm (Python 3.x) 中导入 sys
- symlink - 删除和重新创建文件时的 Linux 符号链接