R dataframe заменяет значение из другого условного кадра - PullRequest
0 голосов
/ 11 июня 2018

У меня есть два кадра данных.Один с nunbers, а другой со статусом (TRUE или FALSE).

df1<-data.frame(A=c(14,25,37),B=c(12,45,23),C=c(65,29,67))
df2<-data.frame(A=c('FALSE','TRUE','TRUE'),B=c('TRUE','FALSE','FALSE'),C=c('TRUE','TRUE','FALSE'))

Я хотел бы скопировать значение из df1 в df2, если df2 равно TRUE.

df3<-data.frame(A=c('FALSE',25,37),B=c(12,'FALSE','FALSE'),C=c(65,29,'FALSE'))

Спасибо

1 Ответ

0 голосов
/ 11 июня 2018

Вот один из вариантов:

df3 <- df2
df3[df3 == 'TRUE'] <- df1[df3 == 'TRUE']

df3
      A     B     C
1 FALSE    12    65
2    25 FALSE    29
3    37 FALSE FALSE

Демо

Примечание: чтобы приведенный выше код работал дословно, мне пришлось немногоизмените ваше определение df2, чтобы использовать stringsAsFactors=FALSE.Только с символьными данными легко проверить на 'TRUE'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...