2012-06-25 3 views
0

У меня есть данные в двух файлах. Я хочу построить график соотношения их частот.отношения частот в R

Например, в моем файле Число от 1 до 5 происходит 20 раз. В моем файле B цифры от 1 до 5 встречаются 10 раз (гистограмма имеет ширину полосы 5). Отношение этих двух составляет 20/10 = 2. Я хочу построить это соотношение на графике. Можно ли это сделать, используя R?

+0

Не совсем уверен, что вы имеете в виду, вы хотите построить один номер? – robbrit

+0

nope, у меня две гистограммы, с графиками на оси y и диапазоном, нанесенным на ось x. Они отображаются в секунду. Я хочу найти соотношение соответствующих частот от этих двух гистограмм и рассчитать значения отношения в графике/графике – newbie555

ответ

3

Предполагая, что вы читали 2 файла в переменных data1 и data2 вы могли бы сделать:

bins <- seq(0, 100, 5) # Change this to whatever range your data encopasses 
h1 <- hist(data1, bins, plot=0) 
h2 <- hist(data2, bins, plot=0) 

ratio <- h1$counts/h2$counts 
# Remove NaNs and Infs due to 0 counts 
ratio[is.na(ratio)] <- 0 
ratio[is.inf(ratio)] <- 0 
barplot(ratio) 

В качестве альтернативы вы можете создать 3-ий объект Hist, который имеет преимущество правильно черчения ось х

h3 <- h1 
h3$counts <- ratio 
plot(h3, col="black") 
+0

. благодаря!! – newbie555

+0

is.inf (x) должно быть is.infinite (x), по крайней мере, в R 3.2.3. – milo

+0

присвоение 'h3', равное' h1', а затем изменение 'h3 $ counts'' 'ratio является проблемой потому что будут построены плотности от 'h1'. Вместо этого используйте «бункеры» в качестве оси x. – milo

Смежные вопросы