Я пытаюсь создать новый столбец в R на основе существующих переменных.У меня есть переменные A и B, и на основе этих значений я хочу создать переменную "C".Переменные A и B являются частью фрейма данных unprocessed_data3.
По сути, я бы хотел, чтобы volfree равнялся 1, если free равен 1, а B9_new равен 1, и volfree равняется 0, если free равен 1, а B9_new равен 2, и volfree равен N / A во всех других случаях.У меня есть код, написанный в Stata ниже.
> gen volfree=1 if free==1 & B9_new==1
> replace volfree=0 if free==1 & B9_new==2
Я пытался использовать приведенную ниже команду.
> unprocessed_data3$volfree = with(unprocessed_data3, ifelse(free ==0 , NA,
ifelse(B9_new=="1", 1, 0)))
Я пытался использовать его, но в итоге получаю в основном NA и немного 0. Я ожидаю много NA и немного 0, но также несколько 1, чего не было.Я точно знаю, что есть некоторые из этих условий.
Ниже приведен мой код
> unprocessed_data <- read.dta('C:/Users/Yuraku/Downloads/04291-0001-Data.dta')
> attach(unprocessed_data)
> unprocessed_data3 <- subset(unprocessed_data, A6 != 5 & A6 !=6)
> free <- unprocessed_data3$B8
> unprocessed_data3$free_2 <- free
> unprocessed_data3$free_new <- unfactor(free)
> unprocessed_data3$B9_new <- unfactor(unprocessed_data3$B9)
> unprocessed_data3$volfree = with(unprocessed_data3, ifelse(free ==0 , NA,
ifelse(B9_new=="1", 1, 0)))
Используя сводные и головные функции, я обнаружил, что мои min, max и median равны 0. Но должно быть почти 50 «1».Кроме того, я также получаю ошибку
>unexpected 'r' after expression
Вместо этого я не получил это, что странно.