【发布时间】:2019-11-14 17:10:15
【问题描述】:
目标是将第二行与第一行进行比较并重复此操作。我的策略是对 R 中的同一列向量执行两次单独的迭代。
代码如下:
对于测试数据,数据长度为50
dat <- rnorm(50)
dat <- data.frame(dat)
功能
cv2 = function(a) {
for(i in 1:nrow(a)) {
for(j in 1:nrow(a)) {
iplus1 = next(a[j])
return((2*(abs((a[i])-(iplus1)))) / ((a[i])+(iplus1)))
}}}
输出应创建一个范围在 0-2 之间的统计信息,长度等于 49。到目前为止,此函数的返回值为 NULL。任何帮助,将不胜感激。谢谢!
【问题讨论】:
-
不太确定您要做什么,但
return将在第一次通过循环时终止该函数。如果您要使用循环(可能不是最好的方法),您应该累积您尝试计算的内容,然后在循环后返回它。 -
为什么你认为计算出来的数字的范围在0-2?
-
0-2 范围在按组对数据进行子设置时具有生物学特异性。输出