Вопрос:
1) Если есть фрейм данных с 5 строками следующим образом:
x = c(0,1,3,4,8)
y = c(3,4,6,8,9)
z = c(5,7,3,6,10)
xyz = data.frame(rbind(x,y,z))
x 0 1 3 4 8
y 3 4 6 8 9
z 5 7 3 6 10
Я хочу заменить числа на 0, если они меньше среднего значения для каждой строки, используемой для цикла в R. Например, если (xyz[i,] < mean(xyz[i,] )
, тогда:
x 0 0 0 4 8
y 0 0 6 8 9
z 0 7 0 0 10
Я использую цикл for R следующим образом:
for(i in 1:3)
{
j = c(1:5)
if(xyz[i,j] < rowMeans(xyz[i,]))
xyz[i,j] = 0
}
Предупреждающие сообщения:
1: если if (xyz [i, j] 1, и будет использоваться только первый элемент ……
Любая помощь приветствуется!