Я новичок в R, поэтому прошу прощения, если ответ на мой вопрос слишком очевиден.Я набор данных в следующей форме:
Date, V1,V...,VN,Land,Nace
22/03/1995 23:01:12,1,3,2,15,A
21/03/1995 21:01:12,3,3,1,9,C
1/04/1995 17:01:06,3,2,1,3,B
Я хотел бы проанализировать данные в data.frame по земле, NACE (это отраслевой код), Дата (я хотел бы свернуть всеподумайте о еженедельных данных) и тремя различными вариантами ответа {1,2,3} в V1 ... VN.Это образец моих данных:
example <- as.data.frame(structure(c(" 1", " 2", " 1", " 2", " 1", " 1", " 2", " 1", " 2",
" 1", " 2", " 3", " 1", " 1", " 2", " 2", " 3", " 1", " 2", " 2",
" 1", " 2", " 1", " 1", " 2", NA, " 2", NA, NA, " 1", " 3", " 1",
" 3", " 3", " 2", " 3", " 3", " 3", " 2", " 2", " 2", " 3", " 3",
" 3", " 2", " 2", " 3", " 3", " 3", " 3", " 1", " 2", " 1", " 2",
" 2", " 1", " 2", " 1", " 2", " 2", " 2", " 3", " 1", " 1", " 2",
" 2", " 3", " 3", " 2", " 2", " 1", " 2", " 1", " 1", " 2", NA,
" 2", NA, NA, " 1", " 3", " 2", " 3", " 2", " 0", " 3", " 3",
" 3", " 2", " 0", " 2", " 3", " 3", " 3", " 0", " 2", " 2", " 3",
" 3", " 0", "12", " 5", " 9", "14", " 5", "tra", "tra", "man",
"inf", "agc", "07-2011", "07-2011", "07-2011", "07-2011", "07-2011"
), .indexCLASS = c("POSIXlt", "POSIXt"), .indexTZ = "", class = c("xts",
"zoo"), .indexFORMAT = "%U-%Y", index = structure(c(1297642226,
1297672737, 1297741204, 1297748893, 1297749513), tzone = "", tclass = c("POSIXlt",
"POSIXt")), .Dim = c(5L, 23L), .Dimnames = list(NULL, c("rev_sit",
"prof_sit", "emp_nr_sit", "inv_sit", "ord_home_sit", "ord_abr_sit",
"emp_cost_sit", "usage_cost_sit", "tax_cost_sit", "gov_cost_sit",
"rev_exp", "prof_exp", "emp_nr_exp", "inv_exp", "ord_home_exp",
"ord_abr_exp", "emp_cost_exp", "usage_cost_exp", "tax_cost_exp",
"gov_cost_exp", "land", "nace", "index"))))
prof_sit и т. Д. Являются вопросами, а ниже приведены ответы по шкале 1,2,3.land, nace и index (это временной индекс) - переменные, с помощью которых я хотел бы разделить набор данных.Цель состоит в том, чтобы получить фрейм данных xts, который бы выглядел следующим образом:
-,nace.land,nace.land,nace.land,...
10-1995,sum of answers coded i.e. as 1 for a certain nace and a certain land,sum,sum,...
11-1995,sum,sum,...
12-1995,sum,sum,...
, где 12-1995 - 12-я календарная неделя в 1995 году. Ближайшее, что я пришел к этому решению, было с tapply:
pos <- as.data.frame(tapply((example[,1]==3)*1,
list(example$index, example$land, example$nace), sum))
Это делает более или менее то, что я хочу от спада, что формат как объект xts потерян и, следовательно, строки не в правильном порядке.В качестве второго недостатка можно также упомянуть, что я собираюсь запустить циклы, чтобы применить ту же технику ко всем двадцати вопросам.Кто-нибудь знает решение этой проблемы?Я ценю любую помощь или подсказку, так как трачу свое время на эту проблему уже несколько дней.
С наилучшими пожеланиями,
andreas