【发布时间】:2020-11-20 16:37:42
【问题描述】:
我有以下两个 DF,每个 DF 有两列(字符串 ID 和计数)。数据如下:
我想将其转换为 1 个 DF,从 A 到 Z 排序(所有 stringID 来自两个 DF,计数来自 DF1,计数来自 DF2)。如果 stringID 不存在,则对应的计数应为 0。R 中是否有允许我进行此转换的包?
【问题讨论】:
-
对于下一个问题,请以可重现的格式添加数据!你可以使用
dput(df)。
我有以下两个 DF,每个 DF 有两列(字符串 ID 和计数)。数据如下:
我想将其转换为 1 个 DF,从 A 到 Z 排序(所有 stringID 来自两个 DF,计数来自 DF1,计数来自 DF2)。如果 stringID 不存在,则对应的计数应为 0。R 中是否有允许我进行此转换的包?
【问题讨论】:
dput(df)。
试试这个。这是一个合并任务:
#Data
df1 <- data.frame(stringid=paste0('string',1:4),counts=c(10,11,11,13),stringsAsFactors = F)
df2 <- data.frame(stringid=paste0('string',c(1,3:5)),counts=c(10,11,11,10),stringsAsFactors = F)
#Merge
dfmerged <- merge(df1,df2,by='stringid',all=T,suffixes = c('_df1','_df2'))
dfmerged[is.na(dfmerged)]<-0
stringid counts_df1 counts_df2
1 string1 10 10
2 string2 11 0
3 string3 11 11
4 string4 13 11
5 string5 0 10
【讨论】: