2017-01-14 3 views
-3

Я ищу предложение: Я пытаюсь переупорядочить/сгруппировать кадр данных с помощью значения переменной.Перегруппировка категориальных значений в dataframe

Например преобразующей нативный фрейм данных VARS

Native data frame VARS:

во что-то вроде этого:

Into something like this:

До сих пор я пытался for-loops с cbind/rbind в зависимости от того, как данные организованы, агрегируются, применяются и т. д. Но всегда есть какая-то морщина, которая мешает работе методов.

Я ценю любую помощь!

ответ

1

Прежде всего, я хотел бы указать на то, как дать пример usefule, наряду с необработанными данными с использованием dput, даст долгий путь для получения обратной связи. В этой связи:

For the dataset you showed: 


A <- structure(list(Var_Typer = c("cnt", "Cont", "cnt", "cnt", "fact", 
"fact", "Char", "Char", "Cont"), R_FIELD = c("Gender", "Age", 
"Activation", "WakeUpStroke", "ArMode", "PreHospActiv", "EMTag", 
"EMTdx", "EMTlams")), .Names = c("Var_Typer", "R_FIELD"), row.names = c(NA, 
-9L), class = "data.frame") 

    > head(A) 
    Var_Typer  R_FIELD 
1  cnt  Gender 
2  Cont   Age 
3  cnt Activation 
4  cnt WakeUpStroke 
5  fact  ArMode 
6  fact PreHospActiv 



B <- apply(
     dcast(A, Var_Typer ~ R_FIELD, value.var = 'R_FIELD'), 1, function(i){ 
     ndf <- as.data.frame(rbind(i[complete.cases(i)])) 
     colnames(ndf) <- c('Class',1:(length(ndf)-1)) 
     ndf 
     }) %>% rbind.pages %>% (function(x){ 
       x[is.na(x)] <- "..." 
       x 
      }) 


    Class   1   2   3 
1 Char  EMTag  EMTdx   ... 
2 cnt Activation  Gender WakeUpStroke 
3 Cont  Age  EMTlams   ... 
4 fact  ArMode PreHospActiv   ... 
+0

Для краткости @docween Я хотел бы указать, что это довольно бесполезный способ структурирования этих данных. –

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