Как получить факторную переменную по двум столбцам. р - PullRequest
0 голосов
/ 19 января 2019

Мне необходимо создать новый столбец v4 в этом data.frame:

v1<-c(1,2,4,7,9,12,34,56,43)
v2<-c(4,4,9,56,73,457,12,12,5585)
v3<-c(7,7,43,124,415,552,552,12525,99)
df<- data.frame(v1,v2,v3)

Хитрость заключается в том, что в тех случаях, когда любое из значений v1 присутствует в v2 v4 должно быть 1 в остальных случаях v4 должно быть 2

Таким образом, результат будет примерно таким:

v1<-c(1,2,4,7,9,12,34,56,43)
v2<-c(4,4,9,56,73,457,12,12,5585)
v3<-c(7,7,43,124,415,552,552,12525,99)
v4<-c(2,2,1,2,1,1,2,2,2)
df.solution<- data.frame(v1,v2,v3,v4)

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Использование базы R

df$v4 <- ifelse(df$v1 %in% df$v2, 1, 2)

EDIT: измененный ответ после комментариев в ответе @NelsonGon

0 голосов
/ 19 января 2019

Это пример ответа, но ваша логика и ожидаемый результат не совпадают:

Окончательный ответ после предложенных изменений и комментариев ОП:

 library(dplyr)
   df %>% 
  mutate(V4=ifelse(v1%in%v2,1,2))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...