我有一个大致如下配置的数据帧:

df <- cbind(c('hello', 'yes', 'example'),c(7,8,5),c(0,0,0))
words frequency count
hello 7 0
yes 8 0
example 5 0

我想做的是从不同的数据框中向第三列添加值,这是类似的,但看起来是这样的:

df2 <- cbind(c('example','hello') ,c(5,6))
words frequency
example 5
hello 6

我的目标是找到两个数据帧中第一列的匹配值(它们具有相同的列名),并将第二个数据帧中的匹配值添加到第一个数据帧的第三列.

结果应该如下所示:

df <- cbind(c('hello', 'yes', 'example'),c(7,8,5),c(6,0,5))
words frequency count
hello 7 6
yes 8 0
example 5 5

到目前为止,我try 的是:

df <- merge(df,df2, by = "words", all.x=TRUE) 

然而,它不起作用.

我需要一些帮助来理解如何做到这一点.欢迎任何帮助.

推荐答案

这是一个"更新连接".我最喜欢的方式是dplyr:

library(dplyr)
df %>% rows_update(rename(df2, count = frequency), by = "words")

在base R中,您可以这样做:

names(df2)[2] = "count2"
df = merge(df, df2, by = "words", all.x=TRUE)
df$count = ifelse(is.na(df$coutn2), df$count, df$count2)
df$count2 = NULL

R相关问答推荐

使用tidyverse方法绑定行并从一组管道列表执行左连接

任意列的欧几里得距离

用预测NLS处理R中生物学假设之上的误差传播

在连续尺度上转置标签[瀑布图,R]

如何自定义3D散点图的图例顺序?

Data.table';S GForce-将多个函数应用于多列(带可选参数)

过滤名称以特定字符串开头的文件

如何使用同比折线图中的个别日

扩展R中包含列表的数据框

在点图上绘制置信度或预测区间ggplot2

如何将这个小列表转换为数据帧?

R基于变量组合创建新的指标列

R将函数参数传递给ggploy

在GT()中的列之间添加空格

在REST API中使用参数R

对一个数据帧中另一个数据帧中的值进行计数

如何在给定的环境中找到函数的函数参数?

根据列和行的不同组合 Select 各种单元格

在R中查找多列中的字符串

使用单独的数据框将框图添加到基数R中的折线图