第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

R中的條件合并/替換

R中的條件合并/替換

達(dá)令說 2019-08-19 16:52:42
R中的條件合并/替換我有兩個(gè)數(shù)據(jù)框:df1x1  x21   a2   b3   c4   d和df2x1  x22   zz3   qq我想根據(jù)df1 $ x1和df2 $ x2之間的條件匹配,用df2 $ x2中的值替換df1 $ x2中的某些值,以產(chǎn)生:df1x1  x21   a2   zz3   qq4   d
查看完整描述

3 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

第一部分是好的,但是在非唯一值的情況下df1,行式for循環(huán)在大型data.frames上不能很好地?cái)U(kuò)展。


您可以使用data.table“更新連接”進(jìn)行適當(dāng)?shù)男薷?,這將非常快:


library(data.table)

setDT(df1); setDT(df2)

df1[df2, on = .(x1), x2 := i.x2]

或者,假設(shè)您不關(guān)心維護(hù)行順序,您可以使用SQL啟發(fā)dplyr:


library(dplyr)

union_all(

? inner_join( df1["x1"], df2 ), # x1 from df1 with matches in df2, x2 from df2

? anti_join(? df1, df2["x1"] )? # rows of df1 with no match in df2

) # %>% arrange(x1) # optional, won't maintain an arbitrary row order

這些中的任何一個(gè)都比行式for-loop更好地?cái)U(kuò)展。


查看完整回答
反對(duì) 回復(fù) 2019-08-19
  • 3 回答
  • 0 關(guān)注
  • 889 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)