2016-08-04 8 views
-2

Прямо сейчас я пытаюсь сделать кривую колокола в файле с именем output9.csv на моем.R в подсчете данных

Вот мой код, я хочу использовать z score для обнаружения выбросов и использует разницу между значением и средним значением набора данных. Разница сравнивается со стандартным отклонением, чтобы найти выбросы. в

#DATA LOAD 
data <- read.csv('output9.csv') 
height <- data$Height 

hist(height) #histogram 

#POPULATION PARAMETER CALCULATIONS 
pop_sd <- sd(height)*sqrt((length(height)-1)/(length(height))) 
pop_mean <- mean(height) 

Но я эта ошибка после того, как я попытался гистограмма части,

> hist(height) 
Error in hist.default(height) : 'x' must be numeric 

как я должен это исправить?

ответ

2

Поскольку у меня нет данных, я могу только догадываться. Можете ли вы его предоставить? Или, по крайней мере, его часть?

В каком классе представлены ваши данные? Вы можете использовать class(data), чтобы узнать. Наиболее распространенный способ - иметь табличные данные в data.frames. Чтобы подмножество одного из ваших столбцов использовать его для hist, вы можете использовать оператор $. Убедитесь, что вы подмножество на столбце, который на самом деле существует. Вы можете использовать names(data) (если data - это data.frame), чтобы узнать, какие столбцы существуют в ваших данных. Используйте nrow(data), чтобы узнать, сколько строк в ваших данных.

После извлечения вашего height вы можете пойти дальше. Сначала проверьте, что ваш height объект numeric и что-то в нем. Вы можете использовать class(height), чтобы узнать.

Как писал в своем комментарии у вас есть следующие имена

names(data) 
# [1] "Host" "TimeStamp" "TimeZone" "Command" "RequestLink" "HTTP" [7] "ReplyCode" "Bytes" 

Таким образом, вы можете извлечь ваш height с

height <- data$Bytes 

вы ли попытаться преобразовать его в числовой? as.numeric(height) может сделать трюк. as.numeric() может принуждать все вещи, которые хранятся как символы, но также может быть числом автоматически. Например, пример as.numeric("3").

Вот пример, который я составил.

height <- c(1,1,2,3,1) 
class(height) 
# [1] "numeric" 

hist(height) 

Это работает просто отлично, потому что данные являются числовыми.

Следующие данные являются числами, но отформатированы как символы.

height_char <- c("1","1","2","3","1") 
class(height_char) 
# [1] "character" 

hist(height_char) 
# Error in hist.default(height) : 'x' must be numeric 

Таким образом, вы должны заставить его первый:

hist(as.numeric(height_char)) 

..и то он работает отлично.

Для следующих вопросов: Попробуйте дать Minimal, Complete, and Verifiable Examples.

+0

эй спасибо! это erorr У меня после класса (высота): class (height) [1] «NULL» –

+0

также я получаю числовое число (0) после того, как я запустил NMueric код –

+0

Так что, очевидно, ничего не хранится в вашем объекте 'height' , Вы уверены, что в ваших данных есть что-то? Вы уверены в том, что вы используете? – symbolrush