[R-br] várias linhas em um única coluna

Robert Iquiapaza rbali em ufmg.br
Quarta Junho 4 19:29:44 BRT 2014


melt_check <- function (data, id.vars, measure.vars) 
{
  varnames <- names(data)
  if (!missing(id.vars) && is.numeric(id.vars)) 
    id.vars <- varnames[id.vars]
  if (!missing(measure.vars) && is.numeric(measure.vars)) 
    measure.vars <- varnames[measure.vars]
  if (!missing(id.vars)) {
    unknown <- setdiff(id.vars, varnames)
    if (length(unknown) > 0) {
      stop("id variables not found in data: ", paste(unknown, 
                                                     collapse = ", "), call. = FALSE)
    }
  }
  if (!missing(measure.vars)) {
    unknown <- setdiff(measure.vars, varnames)
    if (length(unknown) > 0) {
      stop("measure variables not found in data: ", paste(unknown, 
                                                          collapse = ", "), call. = FALSE)
    }
  }
  if (missing(id.vars) && missing(measure.vars)) {
    categorical <- sapply(data, function(x) class(x)[1]) %in% 
      c("factor", "ordered", "character")
    id.vars <- varnames[categorical]
    measure.vars <- varnames[!categorical]
    message("Using ", paste(id.vars, collapse = ", "), " as id variables")
  }
  if (missing(id.vars)) 
    id.vars <- varnames[!(varnames %in% c(measure.vars))]
  if (missing(measure.vars)) 
    measure.vars <- varnames[!(varnames %in% c(id.vars))]
  list(id = id.vars, measure = measure.vars)
}

From: luc.souza em usp.br 
Sent: Wednesday, June 04, 2014 5:09 PM
To: r-br em listas.c3sl.ufpr.br 
Subject: Re: [R-br] várias linhas em um única coluna

Obrigado.
Mas está faltando a função melt_check
abs


Lucas F. de Souza
Eng. Agrícola - CONAB
M.Sc. Produção Vegetal - UENF
Doutor em Agrometeorologia - ESALQ/USP
tel: (19) 98160-7068



--------------------------------------------------------------------------------

  De: "Robert Iquiapaza" <rbali em ufmg.br>
  Para: r-br em listas.c3sl.ufpr.br
  Enviadas: Quarta-feira, 4 de Junho de 2014 17:00:03
  Assunto: Re: [R-br] várias linhas em um única coluna


  A função melt para data frames:

  x=data.frame(rbind(runif(5), rbind(runif(5))))
  t(x)

  meltdf <- function (data, id.vars, measure.vars, variable_name = "variable", 
            na.rm = !preserve.na, preserve.na = TRUE) 
  {
    if (!missing(preserve.na)) 
      message("Use of preserve.na is now deprecated, please use na.rm instead")
    var <- melt_check(data, id.vars, measure.vars)
    if (length(var$measure) == 0) {
      return(data[, var$id, drop = FALSE])
    }
    ids <- data[, var$id, drop = FALSE]
    df <- do.call("rbind", lapply(var$measure, function(x) {
      data.frame(ids, x, data[, x])
    }))
    names(df) <- c(names(ids), variable_name, "value")
    df[[variable_name]] <- factor(df[[variable_name]], unique(df[[variable_name]]))
    if (na.rm) {
      df <- df[!is.na(df$value), , drop = FALSE]
    }
    rownames(df) <- NULL
    df
  }

  meltdf(x)

  Sds

  From: luc.souza em usp.br 
  Sent: Wednesday, June 04, 2014 3:56 PM
  To: r-br em listas.c3sl.ufpr.br 
  Subject: Re: [R-br] várias linhas em um única coluna

  Obrigado.
  Mas como não tenho o pacote instalado, tenho um problema.
  Sou func. público e o proxy não deixa eu baixar o pacote.
  Estou procurando uma solução para isso, através do R, mas não estou conseguindo.
  Conhece algo a respeito de liberação do proxy no R?
  Obrigado
  Lucas


  Lucas F. de Souza
  Eng. Agrícola - CONAB
  M.Sc. Produção Vegetal - UENF
  Doutor em Agrometeorologia - ESALQ/USP
  tel: (19) 98160-7068



------------------------------------------------------------------------------

    De: "Rodrigo Muniz" <uenf.rodrigo em gmail.com>
    Para: r-br em listas.c3sl.ufpr.br
    Enviadas: Quarta-feira, 4 de Junho de 2014 15:49:27
    Assunto: Re: [R-br] várias linhas em um única coluna


    Exatamente Lucas a função melt é do pacote Reshape. 
    Att..



    2014-06-04 15:27 GMT-03:00 <luc.souza em usp.br>:

      Rodrigo, obrigado.
      Essa função melt é do pacote reshape? 

      Lucas


      Lucas F. de Souza
      Eng. Agrícola - CONAB
      M.Sc. Produção Vegetal - UENF
      Doutor em Agrometeorologia - ESALQ/USP
      tel: (19) 98160-7068



--------------------------------------------------------------------------

        De: "Rodrigo Muniz" <uenf.rodrigo em gmail.com>
        Para: r-br em listas.c3sl.ufpr.br
        Enviadas: Quarta-feira, 4 de Junho de 2014 15:08:27
        Assunto: Re: [R-br] várias linhas em um única coluna 



        Considere o seguinte exemplo e veja se da certo para os seus dados.

        x=data.frame(rbind(runif(5), rbind(runif(5))))

        t(x)

        melt(x)


        Att..



        2014-06-04 14:27 GMT-03:00 <luc.souza em usp.br>:

          Prezados,
          tenho uma planilha com várias linhas.
          Gostaria de colocar os dados dessas várias linhas, em uma única coluna, um após o outro.
          como pode ser feito isso?
          Obrigado
          Lucas


          Lucas F. de Souza
          Eng. Agrícola - CONAB
          M.Sc. Produção Vegetal - UENF
          Doutor em Agrometeorologia - ESALQ/USP
          tel: (19) 98160-7068




--------------------------------------------------------------------------------
_______________________________________________
R-br mailing list
R-br em listas.c3sl.ufpr.br
https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20140604/f047cc49/attachment-0001.html>


Mais detalhes sobre a lista de discussão R-br