我正在尝试确定连续变量的最佳临界值,以预测二进制结果。R包OptimalCutpoints似乎很理想,但我无法使其正常工作。
这是我在数据框“示例”中的数据
id outcome value
200 Favorable -75.2
201 Favorable -34.0
202 Favorable -35.2
203 Favorable -23.3
204 Unfavorable -25.0
205 Favorable -10.6
206 Favorable -19.3
207 Favorable 0.0
208 Favorable -149.8
209 Favorable 0.8
210 Favorable 9.6
211 Unfavorable 5.1
212 Favorable -8.4
213 Favorable -1.3
214 Favorable 0.0
215 Unfavorable 0.0
216 Favorable -26.2
217 Favorable -119.1
218 Favorable 7.2
219 Unfavorable -37.0
Run Code Online (Sandbox Code Playgroud)
当我尝试跑步时
optimal.cutpoint.ROC01 <- optimal.cutpoints(X = "value", status = "outcome", tag.healthy = 'Favorable', methods = "ROC01", data = example)
Run Code Online (Sandbox Code Playgroud)
我懂了
Error: Unsupported index type: NULL
Traceback:
1. optimal.cutpoints(X = "value", status = "outcome", tag.healthy = "Favorable",
. methods = "ROC01", data = example)
2. optimal.cutpoints.default(X = "value", status = "outcome", tag.healthy = "Favorable",
. methods = "ROC01", data = example)
3. levels(data[, categorical.cov])
4. data[, categorical.cov]
5. `[.tbl_df`(data, , categorical.cov)
6. check_names_df(j, x)
7. check_names_df.default(j, x)
8. stopc("Unsupported index type: ", class(j)[[1L]])
9. abort(paste0(...))
Run Code Online (Sandbox Code Playgroud)
不知道从这里去哪里。
小智 6
我已经从OptimalCutpoints中看到了相同的“不支持的索引类型:NULL”错误,该错误与使用readxl库导入的数据集有关。readxl返回一个“ tibble”,它是data.frame的超集,具有一些额外的功能,例如,它可以处理列名中的标点符号。
一些较旧的软件包不喜欢小标题,当与它们一起出现时会抛出错误。在调用OptimalCutpoints之前,尝试将数据强制为常规data.frame
example <- as.data.frame(example)
Run Code Online (Sandbox Code Playgroud)