高低对象使用R的汽车库

High and low objects using R's car library

我正在尝试添加一个列,该列读取我的数据框的列并在元素大于特定数字时输出 1(如果不满足条件则输出 0)。但是,这段代码似乎不起作用:df 是一个现有的数据框。

df2 <- data.frame(df2, C=Recode(df$numbers, "hi:200=1; else=0")) ##C = numbers > 200 = 1

我正在使用 R 的汽车库。

这是否达到了您的要求?

df2 <- tibble(numbers = c(1, 200, 201))

df2$recoded <- ifelse(df2$numbers > 200, 1, 0)

df2

# # A tibble: 3 x 2
# numbers recoded
# <dbl>   <dbl>
#   1       1       0
#   2     200       0
#   3     201       1

在 base R 中我们也可以做

df2$recoded <- as.integer(df2$numbers > 200)

data.table中我们可以做:

library(data.table)

df <- datasets::cars

setDT(df)

df[, numbers := ifelse(df$dist > 10, 1, 0)][1:10, ]

#>     speed dist numbers
#>  1:     4    2       0
#>  2:     4   10       0
#>  3:     7    4       0
#>  4:     7   22       1
#>  5:     8   16       1
#>  6:     9   10       0
#>  7:    10   18       1
#>  8:    10   26       1
#>  9:    10   34       1
#> 10:    11   17       1

reprex package (v0.3.0)

于 2021 年 3 月 17 日创建