首页 > 解决方案 > 将具有连续字符串的列添加到 R 中的数据框

问题描述

客观的:

我有一个数据集 df,它看起来像这样:

   End                      Duration

   1/5/2020 1:50:00 AM       500
   1/6/2020 2:00:00 AM       450
   1/7/2020 1:00:00 AM       800

我想要的结果:

  Username                  Duration

  Tanisha                    500
  Tanisha                    450
  Tanisha                    800

我想用每个 Duration 行的相同字符串值替换“结束”列。(我有超过 110,000 行)

输入:

structure(list(End = structure(1:3, .Label = c("1/5/2020 1:50:00 AM", 
"1/6/2020 2:00:00 AM", "1/7/2020 1:00:00 AM"), class = "factor"), 
Duration = c(500L, 450L, 800L)), class = "data.frame", row.names = c(NA, 
-3L))

我在想我可以做一个任务,比如:

 df[["End"]] <- Tanisha  

但是如何在过程中保留 Duration 列。我不确定是否应该使用 mutate。任何建议表示赞赏。

标签: rdplyrtidyverse

解决方案


不幸的是,无法真正找到与此相关的帖子,因此添加为答案。

您可以通过这样做直接添加一个新列。

df$Username <- "Tanisha"

#                  End Duration Username
#1 1/5/2020 1:50:00 AM      500  Tanisha
#2 1/6/2020 2:00:00 AM      450  Tanisha
#3 1/7/2020 1:00:00 AM      800  Tanisha

或者dplyr有多种方法:

tibble::add_column(df, Username = 'Tanisha')

或者

dplyr::transmute(df, Username = 'Tanisha', Duration)

推荐阅读