测量功能R的技术误差

时间:2016-11-28 13:22:22

标签: r

我还没有掌握编写功能的技巧,所以我正在寻求帮助!

我想创建一个计算测量技术误差(TEM)和两列相对TEM的函数。

enter image description here 我之前看到过有关此事的帖子,但他们似乎没有做我需要他们做的事情......

第一个:Technical error of measurement (TEM) for 3 or more participants适用于3个观察者。如果你尝试使用两个观察者来应用它,如果给出不同的结果。

第二个:Technical error of measurement in between two columns是我正在寻找的,但我希望它是一个功能而不是手动代码。

有人可以帮我把它写成我的数据函数:

n <- 23
D <- sum(MHDo1Ana$MHD.o1m1 - MHDo1Ana$MHD.o1m2)
D2 <- D^2
TEM <- sqrt((D2)/2*n)
TEM <- sqrt(((sum(MHDo1Ana$MHD.o1m1 - MHDo1Ana$MHD.o1m2)^2)) / 2 * n)

以及相对TEM的函数?

我的数据是:

  MHD.o1m1 MHD.o1m2
1     46.58    46.77
2     50.66    50.50
3     51.15    50.98
4     46.54    46.16
5     45.78    45.82
6     47.83    47.98
7     43.59    43.66
8     40.27    40.59
9     50.08    50.11
10    47.66    47.69
11    46.11    46.11
12    42.90    43.34
13    38.93    39.14
14    43.89    44.05
15    48.14    48.39
16    46.20    46.11
17    51.34    51.12
18    43.48    43.41
19    46.29    46.14
20    42.26    42.28
21    45.33    45.28
22    47.43    47.23
23    37.37    37.32

非常感谢你!

1 个答案:

答案 0 :(得分:1)

这应该做的工作:

TEM <- function(df, col1, col2){
    sqrt(((sum(df[, col1] - df[, col2])^2)) / 2 * nrow(df))
}

首先通过在控制台中粘贴它来声明它,然后将其与(适用于您的数据集)一起使用:

 TEM(MHDo1Ana,  "MHD.o1m1", "MHD.o1m2")

Reproducible example下面:

MHDo1Ana <- read.table(text="  MHD.o1m1 MHD.o1m2
1     46.58    46.77
           2     50.66    50.50
           3     51.15    50.98
           4     46.54    46.16
           5     45.78    45.82
           6     47.83    47.98
           7     43.59    43.66
           8     40.27    40.59
           9     50.08    50.11
           10    47.66    47.69
           11    46.11    46.11
           12    42.90    43.34
           13    38.93    39.14
           14    43.89    44.05
           15    48.14    48.39
           16    46.20    46.11
           17    51.34    51.12
           18    43.48    43.41
           19    46.29    46.14
           20    42.26    42.28
           21    45.33    45.28
           22    47.43    47.23
           23    37.37    37.32")

TEM(MHDo1Ana,  "MHD.o1m1", "MHD.o1m2")
[1] 1.254731

这会解决您的问题吗?