2015-04-29 3 views
1

все.Создание массива подмножества

Короче говоря:

У меня есть набор данных с более чем 60000 записей.

Одна переменная основана на том, где находится человек (местоположение), с примерно 10 различными категориями. Другим является общая удовлетворенность, из оценки от 1 до 10.

Однако все категории содержат либо слово Rural, либо слово Urban.

Что я хотел бы сделать, это сравнить общее среднее всех случаев, содержащих слово Rural в переменной местоположения, и все случаи, которые содержат слово Urban в переменной местоположения.

Я использовал обход, чтобы просто создать дополнительный столбец в исходном наборе данных в Excel, который находит слово Rural или Urban в столбце location и возвращает либо Rural, либо Urban в зависимости от того, что найдено, но я Конечно, должен быть способ сделать это строго, используя R.

Возможно ли это? Спасибо!

+4

, пожалуйста, предоставьте воспроизводимый пример –

ответ

2

Создать фиктивные данные:

set.seed(1) 
foo <- data.frame(
    loc=sample(c(paste0("Rural",LETTERS[1:5]),paste0(LETTERS[10:14],"Urban")), 
    100,replace=TRUE), 
    xx=rnorm(100)) 

Теперь это звучит, как вы хотите grepl() чтобы вычленить информацию о ваших ключевых словах, и by() для расчета означает по ключевому слову:

> with(foo,by(xx,grepl("Urban",loc),mean)) 
grepl("Urban", loc): FALSE 
[1] -0.07220176 
------------------------------- 
grepl("Urban", loc): TRUE 
[1] 0.04159463 

Или может быть, вы на самом деле хотите t-критерий:

> with(foo,t.test(xx~grepl("Urban",loc))) 

     Welch Two Sample t-test 

data: xx by grepl("Urban", loc) 
t = -0.60245, df = 97.076, p-value = 0.5483 
alternative hypothesis: true difference in means is not equal to 0 
95 percent confidence interval: 
-0.4886860 0.2610932 
sample estimates: 
mean in group FALSE mean in group TRUE 
     -0.07220176   0.04159463 
Смежные вопросы