r - 如何从 R 中的包中提取公式或特定函数?
问题描述
我正在使用 R 包“pt”来计算累积前景理论值。
第一个输入如下:
choice_ids <- c(1, 1, 1, 1, 2, 2, 2, 2)
gamble_ids <- c(1, 1, 1, 2, 1, 1, 2, 2)
outcome_ids <- c(1, 2, 3, 1, 1, 2, 1, 2)
objective_consequences <- c(2500, 2400, 0, 2400,2500, 0, 2400, 0)
probability_strings <- c("0.33", "0.66", "0.01", "1.0","0.33", "0.67", "0.34", "0.66")
my_choices <- Choices(choice_ids=choice_ids,gamble_ids=gamble_ids,outcome_ids=outcome_ids,objective_consequences=objective_consequences,probability_strings=probability_strings)
然后
tk_1992_utility <- Utility(fun="power", par=c(alpha=0.88, beta=0.88, lambda=2.25))
linear_in_log_odds_prob_weight <- ProbWeight(fun="linear_in_log_odds", par=c(alpha=0.61, beta=0.724))
comparePT(my_choices,prob_weight_for_positive_outcomes=linear_in_log_odds_prob_weight,prob_weight_for_negative_outcomes=linear_in_log_odds_prob_weight,utility=tk_1992_utility, digits=4)
## cid gid ev pt ce rp
## 1 1 1 2409 881.3 2222 187
## 2 1 2 2400 943.2 2400 -0.000000000001819
## 3 2 1 825 312.6 684.2 140.8
## 4 2 2 816 307.2 670.9 145.1
comparePT 命令将 pt 值作为输出,但也有很多其他值。但是,我只想将 pt 值作为输出,这可能吗?不幸的是,我查看了包装,但在其中找不到公式。
解决方案
出现pt
在 CRAN 中,但可以从 github 存档中安装:
library(devtools)
install_github("cran/pt")
comparePT()
是一个S4函数。检查这些与常规的 S3 有点不同。首先,您使用showMethods()
查看可用的方法,然后再使用getMethod()
您感兴趣的方法。
showMethods("comparePT")
# Function: comparePT (package pt)
# object="Choices"
getMethod("comparePT", "Choices")
# Method Definition:
#
# function ...
但是,来自的输出comparePT()
只是一个常规的 data.frame,因此您可以$
像往常一样使用它来对其进行子集化。并环绕as.numeric()
它,因为它被编码为字符。
as.numeric(comparePT(my_choices, linear_in_log_odds_prob_weight,
linear_in_log_odds_prob_weight, tk_1992_utility, 4)$pt)
# [1] 881.3 943.2 312.6 307.2
推荐阅读
- r - 删除连续重复行的最佳方法是什么
- arrays - 如何重建没有空元素的数组?
- php - 使用 MongoDB 和 Laravel 在文档中获取 hasMany 关系
- android - 无法使用 VideoView 播放视频
- python - pd.read_csv 无法加载 csv 文件的第一列,并且在 Excel 中打开和保存时文件大小发生变化
- javascript - 浏览器渲染元素时的事件或回调
- stripe-payments - 条纹连接直接充电与意图
- javascript - 无法在 setTimeout 回调中以编程方式打开 Vuetify 对话框
- ios - ** BUILD FAILED ** 将 android 迁移到 iOS
- r - 如何在庞大的数据集中找到某个标准的天数?