高低对象使用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 日创建
我正在尝试添加一个列,该列读取我的数据框的列并在元素大于特定数字时输出 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 日创建