У меня есть датафрейм, заполненный числами и немного NA. Что я хочу сделать, так это добавить столбец 2 каждой строки кадра данных в последний столбец не-NA этой строки, а затем удалить столбец 2. Поэтому я думаю, что хитрость заключается в том, чтобы определить и выбрать последний столбец без NAкаждый ряд, когда каждый ряд имеет разное количество NA.
Образцы данных:
s1 <- c(1,2,1,2,4,NA,NA,NA)
s2 <- c(2,3,4,NA,NA,NA,NA,NA)
s3 <-c(3,2,1,4,5,1,NA,NA)
df3 <- rbind(s1,s2,s3)
print(s1)
colnames(df3) <- c("ID","Cash", "V0","V1","V2","V3","V4","V5")
print(df3)
> print(df3)
ID Cash V0 V1 V2 V3 V4 V5
s1 1 2 1 2 4 NA NA NA
s2 2 3 4 NA NA NA NA NA
s3 3 2 1 4 5 1 NA NA
Итак, предполагаемая операция с вышеприведенным образцом набора данных - добавить столбец «Наличные» в последний столбец без NA каждой строки,а именно столбец V2, он же "4" для строки 1;столбец V0, он же «4» для строки 2;столбец "V3", он же "1" для строки 3.
После операции желаемый вывод должен быть:
s4 <- c(1,1,2,6,NA,NA,NA)
s5 <- c(2,7,NA,NA,NA,NA,NA)
s6 <-c(3,1,4,5,3,NA,NA)
df4 <- rbind(s4,s5,s6)
colnames(df4) <- c("ID","V0","V1","V2","V3","V4","V5")
print(df4)
> print(df4)
ID V0 V1 V2 V3 V4 V5
s4 1 1 2 6 NA NA NA
s5 2 7 NA NA NA NA NA
s6 3 1 4 5 3 NA NA