У меня есть большой data.frame
с "шахматными" данными и хотел бы выровнять его. Я имею в виду, что я хотел бы взять что-то вроде
и удалите верхние (верхние) NA из всех столбцов, чтобы получить
Я знаю о функции na.trim
из пакета zoo
, но это не работало ни с начальным data.frame
, представленным выше, ни с его транспонированием. Для этого я использовал, с транспонированным dataframe t.df
,
t.df <- na.trim(t.df, sides = 'left')
Это возвращает пустой data.frame
и не будет работать так, как я хотел, так как он создавал бы векторы разной длины. Может ли кто-нибудь указать мне на пакет или функцию, которые могут быть более полезными?
Вот код для моего примера, который использовался выше:
# example of what I have
var1 <- c(1,2,3,4,5,6,7,8,9,10)
var2 <- c(6,2,4,7,3,NA,NA,NA,NA,NA)
var3 <- c(NA,NA,8,6,3,7,NA,NA,NA,NA)
var4 <- c(NA,NA,NA,NA,5,NA,2,6,2,9)
df <- data.frame(var1, var2, var3, var4)
# transpose and (unsuccessful) attempt to remove leading NAs
t.df <- t(df)
t.df <- na.trim(t.df, sides = 'left')