Я пытаюсь
- вычислить среднее значение каждой строки из столбца 2–11 для моего кадра данных «альфа»
- добавить результат в столбец 12 моего кадра данных «альфа», которыйв настоящее время имеет значения "NA"
столбец 1 является "locs"
my df:
[,1][,2][,3][,4][,5][,6][,7][,8][,9][,10][,11][,12]...[,17]
[1,] A1 5 9 4 8 12 4 8 12 4 8 NA NA
[2,] C3 6 10 4 8 12 4 8 12 4 8 NA NA
[3,] P2 7 11 5 6 10 5 6 10 5 6 NA NA
[4,] 4 8 12 5 6 10 5 6 10 5 6 NA NA
[49,] 4 8 12 5 6 10 5 6 10 5 6 NA NA
Я не очень знаком с R и не понимаю проблемы.
Это два разных цикла for, которые я пробовал, и предупреждающее сообщение:
> for (j in 1:49){
+ alpha[j, 12] <- mean(alpha[j,2:11])
+ }
There were 49 warnings (use warnings() to see them)
>
> for (j in 1:length(locs)) {
+ alpha$mean[j] <- mean(alpha[j,2:11])
+ }
There were 49 warnings (use warnings() to see them)
>
> warnings()
Warnmeldungen:
1: In mean.default(alpha[j, 2:11]) :
Argument ist weder numerisch noch boolesch: gebe NA zurück
2: In mean.default(alpha[j, 2:11]) :
Argument ist weder numerisch noch boolesch: gebe NA zurück
data.frame': 49 obs. of 17 variables:
$ locs: Factor w/ 49 levels "A1","C3",..: 1 2 3 4 5 6 7 8 9 10 ...
$ sum.2009 : num 12 11 12 15 22 18 14 18 8 9 ...
$ sum.2010 : num 14 11 13 18 22 21 15 21 16 17 ...
$ sum.2011 : num 15 12 20 18 26 25 22 18 25 14 ...
$ sum.2012 : num 15 13 17 25 24 20 24 28 26 20 ...
$ sum.2013 : num 14 9 21 21 28 20 14 19 23 21 ...
$ sum.2014 : num 21 16 28 24 32 26 19 22 7 12 ...
$ sum.2015 : num 27 27 31 23 17 6 14 26 19 19 ...
$ sum.2016 : num 18 18 14 23 25 22 24 39 32 15 ...
$ sum.2017 : num 18 18 23 35 22 7 12 27 15 16 ...
$ sum.2018 : num 25 23 25 26 20 11 12 13 7 8 ...
$ mean : num NA NA NA NA NA NA NA NA NA NA ...
ТогдаЯ преобразовал "locs" из фактора в числовое значение, используя:
alpha$locs <- as.numeric(alpha$locs)
alpha$locs <- lapply(alpha$locs , as.numeric)
, которые оба работали, но я все еще получал те же сообщения об ошибках после запуска forпетли.