我正在尝试对位于[-1,1]
. 尝试对负数据点进行平方根时,transf.arcsine
使用包metafor
会产生。NaNs
从概念上讲,我想使用arcsin(sgn(x)√|x|)
ie 平方绝对值,应用它的前一个符号,然后反正弦变换它。问题是我不知道如何在 R 中开始这样做。我们将不胜感激。
问问题
20832 次
3 回答
14
x <- seq(-1, 1, length = 20)
asin(sign(x) * sqrt(abs(x)))
或作为一个函数
trans.arcsine <- function(x){
asin(sign(x) * sqrt(abs(x)))
}
trans.arcsine(x)
于 2012-07-23T22:29:25.707 回答
4
R 中的帮助只是help()
or help.search()
。所以,让我们试试显而易见的,
> help(arcsin)
No documentation for ‘arcsin’ in specified packages and libraries:
好吧,那不好。但它必须能够触发......让我们尝试一些更简单的东西。
help(sin)
有所有的三角函数。我注意到,Math
页面上有一个链接。单击似乎可以提供您需要的所有功能。原来我本来可以打字的。。
help(Math)
还,
help.search('trigonometry')
于 2012-07-23T21:52:07.740 回答
0
我有一个类似的问题。我想对大部分数据集“logmeantd.ascvr”进行反正弦变换并以这种方式接近它:
首先是数据范围已转换为 b/t -1 和 1(在这种情况下,它们以百分比表示):
logmeantd.ascvr[1:12] <- logmeantd.ascvr[1:12] * 0.01
接下来应用平方根函数 sqrt():
logmeantd.ascvr[1:12] <- sqrt(logmeantd.ascvr[1:12])
最后应用反正弦函数 asin():
logmeantd.ascvr[1:12] <- asin(logmeantd.ascvr[1:12])
*注意,在这种情况下,我排除了数据集的 MEAN 变量,因为我想对其应用日志函数 log():
logmeantd.ascvr$MEAN <- log(logmeantd.ascvr$MEAN)
于 2012-08-22T10:56:02.657 回答