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)
}
 
Sent: Wednesday, June 04, 2014 5:09 PM
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@ufmg.br>
Para: r-br@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
 
Sent: Wednesday, June 04, 2014 3:56 PM
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@gmail.com>
Para: r-br@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@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@gmail.com>
Para: r-br@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@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@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.