2013-05-25 5 views
0

у меня есть один большой кадр данныхразберутся большие данные кадра

ID code N 
1 412 2 
1 A341 1 
1 A520 16 
1 47  9 
2 283 4 
2 412 3 
....... 

идентификатор является репутация. и я хочу назначить код 412 598 A333 и N heve> 3, то я могу перебрать таблицу как этого

ID code_412 code_598 code_A333 
1  0    0   0 
2  1    0   0 
3  0    1   1 

если идентификатор имеет code412 3 раза или code598 3 раза или codeA333 3 раза тогда ключевой 1 еще 0

+2

ОК, вот некоторая информация о [дает большой воспроизводимый пример в R] (http://stackoverflow.com/a/5963610/2352071). Посмотрите там, следуйте советам, и вы получите хорошие ответы. В противном случае повторение одного и того же вопроса и удаление оригинала не поможет вам, а скорее раздражает людей. – thunk

+2

Hannah, я не хочу вам помочь: задавая несколько вопросов, не проявляя собственных усилий, не принимая ответы, плохое качество незавершенных вопросов, устраняя вопрос и снова открывая его, - это причины №1, чтобы не получить никакой помощи здесь. Однако в этом случае я хотел дать ответ вместе с этим комментарием, надеясь, что вы передумаете, когда задаете вопрос снова. – Beasterfield

+0

Знаю, в следующий раз я буду внимателен. спасибо – Hannah

ответ

1

Вопрос не совсем ясен. Являются ли комбинации ID и code уникальными? Происходит ли каждая комбинация? Если нет, как следует обрабатывать недостающие комбинации?

Я предполагаю, что ID и code не являются уникальными, и недостающие комбинации должны получить 0 для соответствующей записи. Это решение с использованием reshape2::dcast:

library("reshape2") 
mdf <- dcast(mdf, ID ~ code, value.var = "N", 
       fun.aggregate=function(x) ifelse(sum(x) < 3, 0, 1) 
      ) 
colnames(mdf)[-1] <- paste("code", colnames(mdf)[-1], sep = "_") 

mdf 
ID code_283 code_412 code_47 code_A341 code_A520 
1 1  0  0  1   0   1 
2 2  1  1  0   0   0 
+0

большое спасибо, каждый код не отображается в каждом народе. (412 598 A333) назначается. Я хочу знать, что у этих людей есть или нет этот код. если у них есть ключ 1. но это хорошее решение – Hannah

+0

@ Ханна, боюсь, я отказываюсь от вас. Почему бы вам просто не спросить: «Как я могу представить существующие комбинации« code »и« ID »лучше?» И все же, если мой ответ ответит на ваш вопрос, почему бы вам не принять его? И если он не отвечает на ваш вопрос, почему бы вам просто не перефразировать его так, чтобы все понимали, что вы ищете? – Beasterfield

+1

@Beasterfield, хотя я полностью согласен с вашими чувствами, если вы сочтете это раздражающим, чтобы помочь (явно) неопытным пользователям, я предлагаю не публиковать вообще. Мы должны стараться, чтобы те, у кого меньше знаний и опыта, улучшали плакаты с более сформулированными вопросами и не заставляли людей бояться публиковать вообще. Не каждый первый язык - английский. –

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