为什么会出现“警告较长的对象长度不是较短的对象长度的倍数”?

我有数据框dih_y2。这两行警告我:


> memb = dih_y2$MemberID[1:10]

> dih_col = which(dih_y2$MemberID == memb)  

Warning message:

In dih_y2$MemberID == memb :

longer object length is not a multiple of shorter object length

为什么?


德玛西亚99
浏览 9809回答 3
3回答

一只名叫tom的猫

您没有提供可复制的示例,但是您的警告消息告诉您确切的问题所在。memb的长度只有10。我猜dih_y2 $ MemberID的长度不是10的倍数。使用==时,如果它不是倍数,则会发出警告,让您知道它可能是不按照您的期望去做。==对元素进行相等性检查。我怀疑如果找到dih_y2$MemeberID向量中的哪些元素也要做什么memb。为此,您需要使用%in%运算符。dih_col <- which(dih_y2$MemeberID %in% memb)

红糖糍粑

我有一个类似的问题,但它与对象的结构和类有关。我会检查如何dih_y2$MemberID格式化。
打开App,查看更多内容
随时随地看视频慕课网APP