Как создать логическую переменную в наборе данных? - PullRequest
0 голосов
/ 03 сентября 2018

Как мне создать логическую переменную для фрейма данных с 2 векторами? Я хочу, чтобы логическая переменная определяла, какой из объектов в vector1 больше, чем объекты в vector2.

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Чтобы создать логический или логический вектор, который проверяет два вектора (или столбца в кадре данных), мы можем настроить логический тест, такой как a > b, который будет возвращать либо TRUE, либо FALSE.

Этот выход может быть назначен самому вектору, как показано в примере ниже.

# set seed for random data
set.seed(123)

# create data frame with two random vectors
df <- data.frame(a = rnorm(10),
                 b = rnorm(10))

# create a logical (boolean) vector
df$c <- (df$a > df$b)

print(df)
#>              a          b     c
#> 1  -0.56047565  1.2240818 FALSE
#> 2  -0.23017749  0.3598138 FALSE
#> 3   1.55870831  0.4007715  TRUE
#> 4   0.07050839  0.1106827 FALSE
#> 5   0.12928774 -0.5558411  TRUE
#> 6   1.71506499  1.7869131 FALSE
#> 7   0.46091621  0.4978505 FALSE
#> 8  -1.26506123 -1.9666172  TRUE
#> 9  -0.68685285  0.7013559 FALSE
#> 10 -0.44566197 -0.4727914  TRUE

Создано в 2018-09-03 пакетом представ. (v0.2.0).

0 голосов
/ 03 сентября 2018

Если мы сравниваем соответствующие элементы двух столбцов

with(df1, vector1 > vector2)

для сравнения каждого элемента со всеми другими элементами

with(df1, outer(vector1, vector2, `>`))

Или

with(df1, t(sapply(vector1, `>`, vector2)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...