我有一个如下例子的表格:
## Range1 Freq1 Pct1 Freq2 Pct2
## 4 -4 to -3.5 0 0.00 0 0.00
## 5 -3.5 to -3 1 0.04 4 0.13
## 6 -3 to -2.5 0 0.00 3 0.10
## 7 -2.5 to -2 7 0.25 11 0.35
## 8 -2 to -1.5 18 0.64 19 0.61
## 9 -1.5 to -1 43 1.54 46 1.47
## 10 -1 to -0.5 149 5.33 139 4.44
## 11 -0.5 to 0 1375 49.18 1585 50.64
## 12 0 to 0.5 953 34.08 1074 34.31
## 13 0.5 to 1 144 5.15 148 4.73
## 14 1 to 1.5 70 2.50 59 1.88
## 15 1.5 to 2 31 1.11 27 0.86
## 16 2 to 2.5 3 0.11 11 0.35
## 17 2.5 to 3 2 0.07 2 0.06
## 18 3 to 3.5 0 0.00 2 0.06
我想添加一个列,通过检查每一行来测试列Freq1和Freq2是否显着不同(就比例而言)。所以,目标是实现类似......
## Range1 Freq1 Pct1 Freq2 Pct2 Sig.Test
## 4 -4 to -3.5 0 0.00 0 0.00 1.00
## 5 -3.5 to -3 1 0.04 4 0.13 0.97
## 6 -3 to -2.5 0 0.00 3 0.10 0.99
## 7 -2.5 to -2 7 0.25 11 0.35 0.50
## 8 -2 to -1.5 18 0.64 19 0.61 0.08
## 9 -1.5 to -1 43 1.54 46 1.47 0.47
## 10 -1 to -0.5 149 5.33 139 4.44 ...
## 11 -0.5 to 0 1375 49.18 1585 50.64 ...
## 12 0 to 0.5 953 34.08 1074 34.31 ...
## 13 0.5 to 1 144 5.15 148 4.73 ...
## 14 1 to 1.5 70 2.50 59 1.88 ...
## 15 1.5 to 2 31 1.11 27 0.86 ...
## 16 2 to 2.5 3 0.11 11 0.35 ...
## 17 2.5 to 3 2 0.07 2 0.06 ...
## 18 3 to 3.5 0 0.00 2 0.06 ...
请注意,列中的值已经用于说明目的。
谢谢。
答案 0 :(得分:1)
也许是这样的:
library(data.table)
Tbl <- setDT( read.table(filename,header=TRUE) )
significanceTest <- function(x,y){exp(-((x-y)^2)/100)}
Tbl[["Sig.test"]] <- significanceTest(Tbl[,Freq1],Tbl[,Freq2])
结果:
> Tbl
Range1 Freq1 Pct1 Freq2 Pct2 Sig.test
1: -4 to -3.5 0 0.00 0 0.00 1.000000e+00
2: -3.5 to -3 1 0.04 4 0.13 9.139312e-01
3: -3 to -2.5 0 0.00 3 0.10 9.139312e-01
4: -2.5 to -2 7 0.25 11 0.35 8.521438e-01
5: -2 to -1.5 18 0.64 19 0.61 9.900498e-01
6: -1.5 to -1 43 1.54 46 1.47 9.139312e-01
7: -1 to -0.5 149 5.33 139 4.44 3.678794e-01
8: -0.5 to 0 1375 49.18 1585 50.64 2.993184e-192
9: 0 to 0.5 953 34.08 1074 34.31 2.599830e-64
10: 0.5 to 1 144 5.15 148 4.73 8.521438e-01
11: 1 to 1.5 70 2.50 59 1.88 2.981973e-01
12: 1.5 to 2 31 1.11 27 0.86 8.521438e-01
13: 2 to 2.5 3 0.11 11 0.35 5.272924e-01
14: 2.5 to 3 2 0.07 2 0.06 1.000000e+00
15: 3 to 3.5 0 0.00 2 0.06 9.607894e-01
>
您可以更改功能&#34; significantTest&#34;如你所愿。