亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

錯誤-替換有[x]行,數據有[y]

錯誤-替換有[x]行,數據有[y]

天涯盡頭無女友 2019-11-19 08:52:22
我在數據框(“ df”)中有一個數字列(“ value”),我想基于“ value”生成一個新列(“ valueBin”)。我有以下條件代碼來定義df $ valueBin:df$valueBin[which(df$value<=250)] <- "<=250"df$valueBin[which(df$value>250 & df$value<=500)] <- "250-500"df$valueBin[which(df$value>500 & df$value<=1000)] <- "500-1,000"df$valueBin[which(df$value>1000 & df$value<=2000)] <- "1,000 - 2,000"df$valueBin[which(df$value>2000)] <- ">2,000"我收到以下錯誤:“ $<-.data.frame((*tmp*,“ valueBin”,值= c(NA,NA,NA,的錯誤:替換有6530行,數據有6532”)的每個元素df$value都應適合我的which()陳述之一。中沒有缺失值df$value。盡管即使我只運行第一個條件語句(<= 250),我也得到了完全相同的錯誤,"...replacement has 6530 rows..."盡管值小于等于250的記錄少于6530個,并且值從不為NA。當使用aggregate()時,此SO鏈接記錄了類似的錯誤,但它建議安裝RI have的版本。加上錯誤報告說它已修復。 R聚合錯誤:“替換具有<foo>行,數據具有<bar>”該SO鏈接似乎與我的問題更相關,這里的問題是他/她的條件邏輯問題,導致生成替換數組的元素較少。我想這也同樣是我的問題,首先我想必須有一個“ <=”而不是“ <”,反之亦然,但是在檢查之后,我很確定它們都正確地覆蓋了每個值沒有重疊的“價值”。 '[<-。data.frame'...中的R錯誤...替換有#個項目,需要#
查看完整描述

2 回答

?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

你可以用 cut


 df$valueBin <- cut(df$value, c(-Inf, 250, 500, 1000, 2000, Inf), 

    labels=c('<=250', '250-500', '500-1,000', '1,000-2,000', '>2,000'))

數據

 set.seed(24)

 df <- data.frame(value= sample(0:2500, 100, replace=TRUE))


查看完整回答
反對 回復 2019-11-19
  • 2 回答
  • 0 關注
  • 3183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號