我们可以使用df = rbind(df, another_df)
合并2个数据帧。如果需要从another_df
df
移除df
,而another_df
和df = data.frame(A=c('a','aa','aaa'), B=c('b','bb','bbb'))
rownames(df)
another_df =data.frame(A=c('aa','a'), B=c('bb','b'))
rownames(another_df)=c('3','4')
的rownames不匹配,那该怎么办呢?
function insertInDatabaseRx(data) {
return Rx.Observable.create(function (observer) {
db.insert(data, function (err) {
if (err) {
observer.onError(err);
} else {
observer.onCompleted();
}
});
});
}
答案 0 :(得分:2)
我们可以使用anti_join
library(dplyr)
anti_join(df, another_df)
或者,如果这是基于rownames
,那么%in%
可用于创建逻辑索引以对行进行子集
df[!row.names(df) %in% row.names(another_df),]
答案 1 :(得分:0)
您可以使用setdiff轻松地使用任何软件包。
df = data.frame(A=c('a','aa','aaa'), B=c('b','bb','bbb'))
another_df =data.frame(A=c('aa','a'), B=c('bb','b'))
s <- df[setdiff(rownames(df),rownames(another_df)),]
s是您想要的输出。