Это продолжение this question. Я хочу нарисовать случайную выборку из каждой строки data.frame
независимо от других строк. data.frame
может содержать NA, как указано в данном data.frame
df
.Случайные образцы из каждого столбца data.frame, содержащие NA
set.seed(12345)
df1 <- c(rnorm(n=4, mean=0, sd=1), NA)
df2 <- rnorm(n=5, mean=10, sd=1)
df <- rbind(df1, df2)
t(apply(df, 1, sample, replace=TRUE))
[,1] [,2] [,3] [,4] [,5]
df1 0.5855288 NA -0.1093033 0.709466 NA
df2 9.7238159 9.723816 8.1820440 9.723816 10.6301
Из первой строки, я хочу, чтобы выбрать четыре наблюдения (не пустые столбцы) с заменой и из второго ряда, я хочу, чтобы выбрать пять наблюдений (не пустые столбцы) с заменой независимо от первого выбора. Но мой данный код выбирает пять наблюдений с заменой из первой строки и пяти наблюдений с заменой второго ряда. Любая помощь в этом отношении будет высоко оценена. Спасибо
Да, вы абсолютно правы @akrun. – MYaseen208
Возможно, 'lst <- apply (df, 1, function (x) sample (x [! Is.na (x)], replace = TRUE)); do.call (rbind, lapply (lst,' length <-' , max (lengths (lst)))) ' – akrun
Спасибо @akrun за ваш полезный комментарий. Не могли бы вы изменить свой комментарий, чтобы ответить. – MYaseen208