使用mutate功能时遇到问题

时间:2019-03-27 20:57:31

标签: r dplyr mutate

我已经有一段时间没有使用R了,并且有机会尝试使用新的公共数据集。但是,mutate函数的行为不符合我的期望,我感到困惑,因为这应该是一个简单的操作。这是数据示例:

structure(list(LName = c("DENTON", "CHAMBERS", "BURANDT", "ROTHMAN", "ROSENBERG"), 
               Birthdate = c("02/07/1962", "02/20/1942", "09/16/1958", 
                             "03/28/1994", "04/20/1986"), 
               Gender = c("F", "F", "F", "F", "F"), 
               PrecinctCode = c(2323L, 2300L, 2341L, 2263L, 1365L), 
               LegislativeDistrict = c(46L, 46L, 46L, 46L, 43L), 
               Registrationdate = c("02/14/1992", "10/03/1990", "05/20/1984", "08/14/2012", "08/11/2015"), 
               LastVoted = c("11/08/2016", "11/04/2008", "02/12/2019", "11/08/2016", "11/06/2018"), 
               StatusCode = c("I", "I", "A", "A", "A")), 
               .Names = c("LName", "Birthdate", "Gender", "PrecinctCode", 
                          "LegislativeDistrict", "Registrationdate", "LastVoted", "StatusCode"), 
                row.names = c(NA, -5L), 
                class = c("tbl_df", "tbl", "data.frame"))

我想做的是使用mutate创建一个新列,并用数据和字符串填充它以形成特定的输出。输出应为 SEA 43-1365

我使用的代码是:

sample_data %>%
   mutate("SEA" & " " & LegislativeDistrict & "-" & PrecinctCode)

我得到的错误是:

Error in mutate_impl(.data, dots) : 
  Evaluation error: operations are possible only for numeric, logical or complex types.

我尝试更改某些列的数据格式,也尝试使用paste函数。对于我做错了什么我感到很沮丧,但我知道当有人指出它时,这将非常痛苦。

谢谢!

1 个答案:

答案 0 :(得分:3)

尝试一下:

sample_data %>%
   mutate(newcol = paste("SEA", LegislativeDistrict, "-", PrecinctCode, sep = " "))