Я хотел бы использовать функцию subset
в R для извлечения небольших групп данных временных рядов исследования панели.
Мои данные состоят из кадра данных, состоящего из шести столбцов: район (8 районов),пол, возрастной интервал (4 группы), год, месяц и столбец подсчета.
Пример:
District Gender Year Month AgeGroupNew TotalDeaths
1 Eastern Female 2003 1 0 4
2 Eastern Female 2003 1 01-4 1
3 Eastern Female 2003 1 05-14 1
4 Eastern Female 2003 1 15+ 91
5 Eastern Female 2003 2 0 4
6 Eastern Female 2003 2 01-4 1
Я хотел бы выделить меньшее подмножество для каждого района, Пол и возрастной интервал вполучить что-то вроде этого:
District Gender Year Month AgeGroupNew TotalDeaths
Northern Male 2003 1 01-4 0
Northern Male 2003 2 01-4 1
Northern Male 2003 3 01-4 0
Northern Male 2003 4 01-4 3
Northern Male 2003 5 01-4 4
Northern Male 2003 6 01-4 6
Northern Male 2003 7 01-4 5
Northern Male 2003 8 01-4 0
Northern Male 2003 9 01-4 1
Northern Male 2003 10 01-4 2
Northern Male 2003 11 01-4 0
Northern Male 2003 12 01-4 1
Northern Male 2004 1 01-4 1
Northern Male 2004 2 01-4 0
Переход к
Northern Male 2006 11 01-4 0
Northern Male 2006 12 01-4 0
До сих пор я пытался использовать это, благодаря DWin указав это в предыдущем вопросе .
subset(datNew, subset=(District=="Eastern" & Gender=="Female" & AgeGroupNew=="01-4"))
[1] District Gender Year Month AgeGroupNew TotalDeaths
<0 rows> (or 0-length row.names)
Но R продолжает давать мне вывод, как указано выше - чего не следует делать.
Я пробовал другие комбинации с успехом, но, кажется, с использованием 'District' вsubset
вызывает это <0 rows> (or 0-length row.names)
.
Это работает:
> head(subset(datNew, Year=="2004" & Month=="8" & AgeGroupNew =="0"))
District Gender Year Month AgeGroupNew TotalDeaths
77 Eastern Female 2004 8 0 10
269 Eastern Male 2004 8 0 6
461 Khayelitsha Female 2004 8 0 13
653 Khayelitsha Male 2004 8 0 15
845 Klipfontein Female 2004 8 0 7
1037 Klipfontein Male 2004 8 0 6
, но не
> head(subset(datNew, District=="Eastern" & Gender=="Female" & AgeGroupNew =="0"))
[1] District Gender Year Month AgeGroupNew TotalDeaths
<0 rows> (or 0-length row.names)
Любая причина, почему Округ вызывает это?Абсолютно неправильно, что в этой комбинации подмножеств 0 строк - насколько мне известно, данных достаточно.
Я пробовал экспериментировать - и из других постов это на шаг ближе к тому, что я хочудостичь, но все еще не работает:
> head(subset(datNew,datNew[[1]] %in% District[1] & Gender=="Female" & AgeGroupNew=="0"))
District Gender Year Month AgeGroupNew TotalDeaths
1 Eastern Female 2003 1 0 4
5 Eastern Female 2003 2 0 4
9 Eastern Female 2003 3 0 5
13 Eastern Female 2003 4 0 12
17 Eastern Female 2003 5 0 7
21 Eastern Female 2003 6 0 13
При этом я не могу выбирать из других округов, таких как «Южный», «Хайелитша» и т. д. Независимо от того, что я изменяю datNew[[1 or 2 or 3]]
и District[[1 or 2 or 3]]
.Я действительно не знаю, что %in%
делает выше?
Я так застрял.Любая помощь сборка.