首页 > 解决方案 > 将列添加到数据框 - 将列显示为 tibble 但不在数据框中

问题描述

我正在尝试向现有数据框添加一个新列。此列应包含身份证号、名字的第一个字母和姓氏的第一个字母。我使用以下代码添加列:

my_table%>% 
  unite(newID, c("id", "FirstName", "Surname"))

...并将新列显示为小标题,但不在数据框本身中。

我错过了什么?在这里发疯。

提前致谢,

标签: dplyr

解决方案


我认为您的问题是您没有remove = FALSEunite通话中进行设置。

library(dplyr)

my_table %>%
  unite(
    'newID',
    id, FirstName, Surname,
    remove = FALSE
  )

但是,这对您仅保留名字和姓氏的第一个字母的规范没有帮助。
只需使用mutate它并准确指定要粘贴在一起的内容:

library(dplyr)

my_table %>%
  mutate(
    newID = paste0(id, substr(FirstName,1,1), substr(Surname,1,1))
  )

推荐阅读