R 对数组中的每个事件应用新的函数评估
R sapply new evaluation of function for each incidence in array
多亏了很多帮助,我得到了一个表达式,可以在满足特定条件时将 rbinom 中的值替换为向量。我的问题是它总是替换相同的值,即不对满足条件的每个实例进行新的评估。我想我只需要将它包装在一个 sapply 语句中,但语法不正确。 MWE:
arr1 <- c(8, 2, 5, 2, 3, 2, 2, 2, 8, 2, 4)
arr2 <- c(0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0)
arr1
arr1[Reduce("&", list(arr1 == 2, arr2 ==1))] <- rbinom(1,1,0.5) * 2
arr1
arr1
[1] 8 2 5 0 3 0 0 0 8 0 4
我本来希望它改变了一些值而不是其他值,所以对每个实例再次评估结果。这是 purrr::modify2 的一个很好的应用吗?谢谢。 J
您的意思可能是:
inds <- arr1 == 2 & arr2 == 1
arr1[inds] <- rbinom(sum(inds), 1, 0.5) * 2
多亏了很多帮助,我得到了一个表达式,可以在满足特定条件时将 rbinom 中的值替换为向量。我的问题是它总是替换相同的值,即不对满足条件的每个实例进行新的评估。我想我只需要将它包装在一个 sapply 语句中,但语法不正确。 MWE:
arr1 <- c(8, 2, 5, 2, 3, 2, 2, 2, 8, 2, 4)
arr2 <- c(0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0)
arr1
arr1[Reduce("&", list(arr1 == 2, arr2 ==1))] <- rbinom(1,1,0.5) * 2
arr1
arr1
[1] 8 2 5 0 3 0 0 0 8 0 4
我本来希望它改变了一些值而不是其他值,所以对每个实例再次评估结果。这是 purrr::modify2 的一个很好的应用吗?谢谢。 J
您的意思可能是:
inds <- arr1 == 2 & arr2 == 1
arr1[inds] <- rbinom(sum(inds), 1, 0.5) * 2