【发布时间】:2019-03-27 20:57:31
【问题描述】:
我已经有一段时间没有使用 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 函数。我对自己做错了什么感到有些困惑,但我知道当有人指出时,这将是非常明显的。
谢谢!
【问题讨论】:
-
啊,你说你试过
paste()。最好展示一下这种尝试。&根本不起作用,这不是有效的 R 代码。 -
哎呀。谢谢。
-
在 R 中,
&是一个布尔运算符,因为在TRUE & FALSE中将返回FALSE。 -
谢谢你,joran,你的评论帮助我弄清楚了。当我被允许在九分钟内结束这个问题时,我将结束这个问题。谢谢芽