Проблема здесь заключается в неправильном подмножестве 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