【问题标题】:Having trouble using the mutate function使用 mutate 函数时遇到问题
【发布时间】: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,你的评论帮助我弄清楚了。当我被允许在九分钟内结束这个问题时,我将结束这个问题。谢谢芽

标签: r dplyr


【解决方案1】:

试试这个:

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

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2012-09-21
    相关资源
    最近更新 更多