Если вы хотите применить функцию к каждой строке df, вы можете сделать следующее:
apply(array, margin, fun(x))
, где array
- ваш фрейм данных, margin
- 1 для строк, 2 для столбцов, fun(x)
- это ваша функция, где x - каждая строка, например, function(x){mean(x)}
Для вашей функции попробуйте
as.data.frame(t(apply(df, 1, function(x){
replicate(6, mean(sample(x, 6, replace=TRUE)))
})))
, где df
- ваш фрейм данных.Результат:
> set.seed(1)
> as.data.frame(t(apply(df, 1, function(x){
+ replicate(6, mean(sample(x, 6, replace=TRUE)))
+ })))
V1 V2 V3 V4 V5 V6
1 0.3068208 0.1422921 0.5131469 0.3159808 0.61606935 0.4984955
2 0.4083824 0.3365791 0.5149758 0.2826672 0.34761771 0.4413220
3 0.5306285 0.4393809 0.2884135 0.2416325 0.46592721 0.2858680
4 0.4046463 0.3153975 0.5783785 0.1321199 0.06213869 0.1863585
5 0.3461146 0.1959594 0.1886254 0.4904454 0.34373307 0.2179313
6 0.1681255 0.2924128 0.1607637 0.2372478 0.18738553 0.2585522
7 0.2015053 0.1494048 0.2805252 0.3345927 0.22052876 0.2905973
8 0.2724066 0.2384786 0.2612100 0.2544667 0.25447366 0.2393240