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

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

比較兩個(gè)data.frames以查找data.frame 1中不存在于data.frame 2中的行

比較兩個(gè)data.frames以查找data.frame 1中不存在于data.frame 2中的行

HUWWW 2019-07-31 15:16:58
比較兩個(gè)data.frames以查找data.frame 1中不存在于data.frame 2中的行我有以下2個(gè)data.frames:a1 <- data.frame(a = 1:5, b=letters[1:5])a2 <- data.frame(a = 1:3, b=letters[1:3])我想找到a1沒(méi)有的行a1。這種類型的操作是否有內(nèi)置功能?(ps:我確實(shí)為它編寫(xiě)了一個(gè)解決方案,如果有人已經(jīng)制作了一個(gè)更精心設(shè)計(jì)的代碼,我感到很好奇)這是我的解決方案:a1 <- data.frame(a = 1:5, b=letters[1:5])a2 <- data.frame(a = 1:3, b=letters[1:3])rows.in.a1.that.are.not.in.a2  <- function(a1,a2){    a1.vec <- apply(a1, 1, paste, collapse = "")    a2.vec <- apply(a2, 1, paste, collapse = "")    a1.without.a2.rows <- a1[!a1.vec %in% a2.vec,]    return(a1.without.a2.rows)}rows.in.a1.that.are.not.in.a2(a1,a2)
查看完整描述

3 回答

?
明月笑刀無(wú)情

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

這不會(huì)直接回答您的問(wèn)題,但它會(huì)為您提供共同的元素。這可以通過(guò)Paul Murrell的包來(lái)完成compare:


library(compare)

a1 <- data.frame(a = 1:5, b = letters[1:5])

a2 <- data.frame(a = 1:3, b = letters[1:3])

comparison <- compare(a1,a2,allowAll=TRUE)

comparison$tM

#  a b

#1 1 a

#2 2 b

#3 3 c

該函數(shù)compare在允許哪種比較方面為您提供了很大的靈活性(例如,改變每個(gè)向量的元素順序,改變變量的順序和名稱,縮短變量,改變字符串的大小寫(xiě))。由此,您應(yīng)該能夠找出其中一個(gè)或哪個(gè)缺失的東西。例如(這不是很優(yōu)雅):


difference <-

   data.frame(lapply(1:ncol(a1),function(i)setdiff(a1[,i],comparison$tM[,i])))

colnames(difference) <- colnames(a1)

difference

#  a b

#1 4 d

#2 5 e


查看完整回答
反對(duì) 回復(fù) 2019-07-31
?
牛魔王的故事

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

SQLDF 提供了一個(gè)很好的解決


a1 <- data.frame(a = 1:5, b=letters[1:5])

a2 <- data.frame(a = 1:3, b=letters[1:3])


require(sqldf)


a1NotIna2 <- sqldf('SELECT * FROM a1 EXCEPT SELECT * FROM a2')

以及兩個(gè)數(shù)據(jù)框中的行:


a1Ina2 <- sqldf('SELECT * FROM a1 INTERSECT SELECT * FROM a2')

新版本dplyr有一個(gè)功能,anti_join正是為了這些類型的比較


require(dplyr) 

anti_join(a1,a2)

而semi_join過(guò)濾行的a1,同時(shí)也是在a2


semi_join(a1,a2)


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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