让我先说一下这个问题我说我发现使用因子作为指数通常并不理想,因为这个因素会被强制转换为数字,可能并不代表你想要它。
但是,考虑到这一点,我很想在尝试分配一个带有因子的子集的data.frame时遇到以下错误。
采用以下可重现的例子:
alpha <- data.frame('a' = c(1, 2), 'b' = c(4, 3))
index <- factor(c(2, 1))
alpha[index[1], ]
到目前为止一切顺利。似乎索引向量被强制转换为数字并且适当地对alpha data.frame进行子集化。
但是,尝试分配到子集行会产生各种错误
alpha[index[1], ] <- c(1, 2)
&#34; Summary.factor中的错误(2L,na.rm = FALSE):'max'对因子没有意义&#34;
在不同的情况下,我也看到了与min相同的错误消息而不是max。在这里我也得到了
&#34;在Ops.factor(i,0L)中:'&gt; ='对因子没有意义&#34;
由于<-
是原始的,因此很难检查表面下发生的事情。有没有人能够了解为什么会发生这种情况?