【发布时间】:2017-06-27 09:38:49
【问题描述】:
我正在尝试在名为“OutComes”的数组上使用ifelse,但这给我带来了一些麻烦。
> PersonNumber Risk_Factor OC_Death OnsetAge Clinical CS_Death Cure AC_Death
>[1,] 1 1 99.69098 NA NA NA NA NA
>[2,] 2 1 60.68009 NA NA NA NA NA
>[3,] 3 0 88.67483 NA NA NA NA NA
>[4,] 4 0 87.60846 NA NA NA NA NA
>[5,] 5 0 78.23118 NA NA NA NA NA
现在我将尝试使用 apply 来分析此表的 Risk_Factor 列并应用两个函数之一来替换 OnsetAge 列的 NA。
我一直在使用 apply 函数 -
apply(OutComes, 1, function(x)ifelse(OutComes[,"Risk_Factor"] == 1,
HighOnsetFunction(x), OnsetFunction(x))
但是,这显然不起作用,因为 ifelse 本身不起作用。错误是 -
xy.coords(x, y) 中的错误:“x”和“y”长度不同
我不确定这个 ifelse 中发生了什么或 x 和 y 长度是什么。
【问题讨论】:
-
函数
HighOnsetFunction和OnsetFunction。可以分享一下吗? -
起始函数 >function(x){unlist(approx(probability,age,x,ties=max)[2],use.names=F)} 高起始函数是一样的,只是概率它使用的表更高。
-
不是作为评论...更好地扩展您的初始请求
标签: r if-statement apply