我已经完成了其他Q&至于此错误但仍然无法解决我的问题。
我有两个数据框,类似于:
partID <- c('partA', 'partB', 'partC')
model <- c('model1', 'model1', 'model2')
dfOne <- data.frame(partID, model)
partID <- c('partC', 'partA', 'partA', 'partB', 'partC', 'partX')
dfTwo <- data.frame(partID)
dfTwo$model <- 'diffModel'
我正在尝试将dfTwo中的模型替换为与partID匹配的dfOne中的模型。我试过用ifelse做这个:
dfTwo$model <- ifelse(dfTwo$partID == dfOne$partID,
dfOne$model, dfTwo$model)
然而,我收到错误:
“警告信息:1:在is.na(e1)| is.na(e2):更长的对象 长度不是较短物体长度的倍数2:In
==.default
(dfTwo $ partID,dfOne $ partID):较长的对象长度是 不是较短物体长度的倍数“
我认为这可能是因为dfTwo中的模型是dfOne中的一个角色和模型是一个因素,但我跑完后仍然保持相同:
dfTwo$model <- as.factor(dfTwo$model)
我认为它是因为观察数量不同但我不太确定如何处理这个问题,我不会覆盖那些没有partID匹配的模型。
我仍然很擅长使用R。
非常感谢任何帮助。