Как создать al oop в R для вычисления значения для каждого столбца? - PullRequest
0 голосов
/ 26 мая 2020

Я хотел рассчитать стандартное отклонение для каждого столбца в моем наборе данных ниже:

    a b c
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 9

Я попытался создать al oop вот так:

for (x in 1:3){
  sdcol=sd(data[,x])
}

Но я получаю следующая ошибка:

Error in data[, x] : object of type 'closure' is not subsettable

Можете ли вы мне помочь с таким al oop?

Спасибо

Ответы [ 2 ]

0 голосов
/ 26 мая 2020

Мы также можем использовать

library(dplyr)
iris %>%
     summarise_at(1:4, sd, na.rm = TRUE)
0 голосов
/ 26 мая 2020

EDIT

Я предлагаю вам попробовать эту команду, которая быстрее, чем цикл for. Убедитесь, что все ваши переменные - numeri c. Аргумент na.rm = TRUE полезен, если ваши столбцы содержат пропущенные значения

sapply(data, sd, na.rm = TRUE)

Пример

sapply(iris[,1:4], sd, na.rm = TRUE)
Sepal.Length  Sepal.Width Petal.Length  Petal.Width 
   0.8280661    0.4358663    1.7652982    0.7622377 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...