0

假设,我有一个数据集,例如,

y <- c(0,0,1,2,2,1,0,1)
a <- c(0,2,1,1,0,2,0,3)
dat <- data.frame(y, a)

我想f <- digamma(a+y)通过使用条件来计算的值

if(a>0 & y==0) then f
if(a==0 & y>0) then f
if (a==0 & y==0) then f = 1

我怎样才能使用 R 代码来做到这一点?

4

1 回答 1

0

我认为这会给你事后的结果:

f <- digamma(a+y) 
f[a==0 & y==0] <- 1

或者

f[is.nan(f)] <- 1

好吧,这是使用索引来查看向量中的哪些元素是 nan 或在第一种方法中 a 和 y 都是 0。然后索引[]说取 f 的这些元素,赋值<-说使这些元素成为一个。

于 2013-01-26T07:20:30.283 回答