【问题标题】:'Or' versus 'any' function in R?R中的“或”与“任何”函数?
【发布时间】:2020-02-26 16:48:13
【问题描述】:

我想知道是否使用 |操作员会做与 SPSS 中的“任何”函数相同的事情吗?

例如,我尝试将此 SPSS 代码重写为 R,但没有得到相同的答案:

SPSS:

IF ((any (age, 11, 12, 13, 21, 42, 33)) AND (income2 = 
1)) inc_age = 1.

R:

selected_18_19 <- 2017_18[ which(2017_18$age 
== 
11 | 2017_18$age == 12 | 2017_18$age == 13 
| 2017_18$age == 21 | 2017_18$age == 42 | 
2017_18$age == 33 & (2017_18$income == 1)),]

我得到了输出,但所选案例的频率不同。

感谢任何建议。

干杯。

【问题讨论】:

  • 欢迎来到 SO!请花点时间阅读有关如何发布 R 问题的信息:stackoverflow.com/questions/5963269/…
  • 2017_18 在您使用它的方式中不是一个有效的名称——在这种情况下,您需要使用反引号 `2017_18`$age。更简单的方法类似于 spss 代码:any(age %in% c(11, 12, 13, ...)) 但我不阅读 spss 代码,所以我不能确定

标签: r spss recode


【解决方案1】:

这是tidyverse 解决方案:

library(dplyr)

selected_18_19 <- `2017_18` %>%
  filter((`2017_18`$age %in% c(11,12,13,21,42,33)) & `2017_18`$income == 1) %>%
  mutate(inc_age = 1)

您肯定会从首先重命名您的数据框以使其以字符开头,即:

df_2017_18 <- as.data.frame(`2017_18`)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 2013-08-01
    • 2021-06-25
    • 1970-01-01
    • 2015-01-22
    • 2021-12-19
    • 2015-07-29
    相关资源
    最近更新 更多