1
私はmutate呼び出しの中で2つの関数を使用しています。予想されるように、他のすべての行に対して同じ値を繰り返しながら一行結果ごとに生成:d
列が変化する、すなわち評価順序とdplyr突然変異との矛盾
X Y d p
1 9 15 0.6000000 0.4398077
2 8 7 1.1428571 0.4398077
3 9 14 0.6428571 0.4398077
4 11 15 0.7333333 0.4398077
5 11 7 1.5714286 0.4398077
が、v
は一定であり、その値:
library(dplyr)
df <- data.frame(X = rpois(5, 10), Y = rpois(5,10))
pv <- function(a, b) {
fisher.test(matrix(c(a, b, 10, 10), 2, 2),
alternative='greater')$p.value
}
div <- function(a, b) a/b
mutate(df, d = div(X,Y), p = pv(X, Y))
ようなものを生成しますいずれの行の値もX
とY
には実際には対応していません。
これはNSEに関係していると思われますが、どのような問題が発生しているのかわかりません。
div
とpv
の異なる動作の原因は何ですか? pv
を修正するにはどうすればよいですか?