У меня есть фрейм данных df.
30 столбцов, около 1,5 м строк.
Я хочу "нормализовать" столбцы с 13 по 30, разделив каждое число в этих столбцах на среднеедля этого столбца.Я могу сделать это:
df_norm[, 13] <- df[, 13] / Column_Means[1]
df_norm[, 14] <- df[, 14] / Column_Means[2]
df_norm[, 15] <- df[, 15] / Column_Means[3]
...etc...etc...etc..
df_norm[, 29] <- df[, 29] / Column_Means[17]
df_norm[, 30] <- df[, 30] / Column_Means[18]
И это работает, но это неуклюже и немного медленно.Я надеялся сделать все это в одну строку, возможно, что-то вроде:
df_norm[, 13:30] <- df[, 13:30] / Column_Means
или
df_norm[, 13:30] <- df[, 13:30] / Column_Means[1:18]
, но это, похоже, не работает - оно всегда делится на Column_Means [1] вместо того, чтобы просматривать все 18 значений.
Пожалуйста, кто-нибудь может сказать мне, есть ли одна строка кода, которая будет делать то, что мне нужно?Мне нравится писать краткий код, если я могу, но я новичок с синтаксисом R.
Большое спасибо ...