Получение NA в стандартном отклонении - PullRequest
0 голосов
/ 26 октября 2018

когда я пишу, это означает, что это сработало

mean(b1temp[1, ])

, но для стандартного отклонения возвращается NA

sd(b1temp[1, ])

NA

ТАК, я изменил функцию, но все еще возвращает NA

sd(b1temp[1, ], na.rm=FALSE)

NA

мой набор данных содержит только строку.Это проблема?

1 Ответ

0 голосов
/ 31 октября 2018

Проблема здесь заключается в неправильном подмножестве data.frame, поскольку при выполнении b1temp[1, ] вы получаете только 1 число, для которого стандартное отклонение не определено. Что является причиной получения NA.

По умолчанию data.frame данные организованы по столбцам, а не по строкам. Таким образом, чтобы применить sd к вашим данным, вы должны использовать поднаборы для столбцов bitemp[, 1].

Пожалуйста, смотрите код и симуляцию ниже:

b1temp <- data.frame(x = 1:10)

b1temp[1, ]
# [1] 1

mean(b1temp[1, ])
# [1] 1

sd(b1temp[1, ])
# [1] NA

sd(1)
# [1] NA

b1temp[1, ]
# [1]  1  2  3  4  5  6  7  8  9 10

sd(b1temp[, 1])
# [1] 3.02765
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...