2015-11-12 2 views
1

Я пытаюсь получить описательную статистику для конкретных переменных (представленных в виде столбцов) в фрейме данных. Меня интересует получение среднего и стандартного отклонения двух переменных (polindex и log (gdp)), но у меня есть два ограничения.Среднее из двух столбцов (оба не отображающих NA) условно за период времени

Во-первых, мне нужно сделать мои оценки только за исключением случаев, когда оба polindex и журнал (ввп) содержат данные, в то же время (то есть мне нужно исключить наблюдения для обеих переменных в любое время один или два из них настоящее НС). Это делается для того, чтобы иметь одинаковое базовое число наблюдений в обеих оценках.

Во-вторых, мне нужно сделать свои оценки только в течение лет в диапазоне 1960-2000 гг., Поэтому наблюдения за любой год ниже или выше, чем они должны быть исключены.

enter image description here

+0

[Как сделать отличный пример воспроизводимого R?] (Http://stackoverflow.com/questions/5963269) – zx8754

ответ

2

Вы можете Подмножество исходного кадра данных и использовать только те строки, которые удовлетворяют следующие условия:

!is.na(df$polindex) is TRUE 
!is.na(df$log.gdp) is TRUE 
df$year >= 1960 & df$year <= 2000 is TRUE 

Вот код, который вы можете использовать для вычисления среднего значения для polindex:

pol.index <- !is.na(df$polindex) 
log.index <- !is.na(df$log.gdp) 
year.index <- df$year >= 1960 & df$year <= 2000 

pol.mean <- mean(df[pol.index & log.index & year.index, "polindex"], na.rm=TRUE) 
+0

Спасибо Тим! Это именно то, что я искал. Подмножество работало красиво. –