我已经有一段时间没有使用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
函数。对于我做错了什么我感到很沮丧,但我知道当有人指出它时,这将非常痛苦。
谢谢!
答案 0 :(得分:3)
尝试一下:
sample_data %>%
mutate(newcol = paste("SEA", LegislativeDistrict, "-", PrecinctCode, sep = " "))