我有下面的字母数据框,小写字母有一些空白(NA)槽

letters_df <- data.frame(caps = LETTERS[1:10], lows = letters[c(1,2,11,11,11,11,11,11,11,10)])
letters_df[letters_df == "k"] <- NA
letters_df

为了填补一些空白,我使用了我构建的这个新数据框架

new_letters <- data.frame(caps = c("C", "D", "F", "G", "H"),
                     lows = c("c", "d", "f", "g", "h"))

a previous question开始,我使用dplyr mutate和case_,如下所示

letters_df %>%
  mutate(lows = case_when(
    caps %in% new_letters$caps ~ new_letters$lows,
    TRUE ~ lows))

但是,结果不会添加丢失的字母,并抛出一个错误,要求输入与字母_df列长度相同的向量.我以为我对这里的语法掌握得很好.你能帮我解决哪里出了问题吗?

推荐答案

这是一个典型的病例,dplyr人中有rows_*人可以治疗:

library(dplyr)

letters_df %>%
  rows_patch(new_letters, by = "caps")

   caps lows
1     A    a
2     B    b
3     C    c
4     D    d
5     E <NA>
6     F    f
7     G    g
8     H    h
9     I <NA>
10    J    j

R相关问答推荐

提取R中值和列名的所有可能组合

名称输出pmap on tible

R Highcharts与两个位置关联的注释

如何将移除事件分配给动态创建的按钮?

将饼图插入条形图

根据类别合并(汇总)某些行

根据现有列的名称和字符串的存在进行变异以创建多个新列

线性模型斜率在减少原始数据时提供NA

将二进制数据库转换为频率表

R中1到n_1,2到n_2,…,n到n_n的所有组合都是列表中的向量?

当我添加美学时,geom_point未对齐

R+reprex:在呈现R标记文件时创建可重现的示例

如果条件匹配,则使用Mariate粘贴列名

R中的Desolve:返回的导数数错误

R没有按顺序显示我的有序系数?

具有由向量定义的可变步长的序列

R:改进实现简单模型

如何修改Rust中的R字符串并将其赋给新的R变量,并使用extendr保留原始R字符串

如何在用`{{ }}`创建的变量上使用整洁 Select ?

根据小时-分钟列创建年-月-日序列