Articles of r faq

Fusão / substituição condicional em R

Eu tenho dois frameworks de dados: df1 x1 x2 1 a 2 b 3 c 4 d e df2 x1 x2 2 zz 3 qq Eu quero replace alguns dos valores em df1 $ x2 com valores em df2 $ x2 com base na correspondência condicional entre df1 $ x1 e df2 $ x2 para […]

Remodelar várias colunas de valor para o formato amplo

Eu tenho o seguinte quadro de dados e eu quero usar o cast para criar uma “tabela dinâmica” com colunas para dois valores (valor e porcentagem). Aqui está o quadro de dados: expensesByMonth <- structure(list(month = c("2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-02-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", "2012-03-01", […]

Colar várias colunas juntas

Eu tenho um monte de colunas em um dataframe que eu quero colar juntos (separados por “-“) da seguinte forma: data <- data.frame('a' = 1:3, 'b' = c('a','b','c'), 'c' = c('d', 'e', 'f'), 'd' = c('g', 'h', 'i')) ie abcd 1 adg 2 beh 3 cfi Qual eu quero me tornar: ax 1 adg 2 […]

Mensagem de aviso: Em `…`: nível de fator inválido, NA gerado

Eu não entendo porque recebi esta mensagem de aviso. > fixed fixed[1, ] <- c("lunch", 100) Warning message: In `[ fixed Type Amount 1 100 2 0 3 0

Arredondar de 0,5

Sim, eu sei porque nós sempre arredondamos para o número par mais próximo se estamos no meio exato (ou seja, 2,5 se torna 2) de dois números. Mas quando quero avaliar dados para algumas pessoas, eles não querem esse comportamento. Qual é o método mais simples para obter isso: x <- seq(0.5,9.5,by=1) round(x) ser 1,2,3, […]

Gere vários charts a partir de uma function R

Eu gostaria de gerar várias janelas gráficas de dentro de uma function em R usando charts ggplot … testf <- function(a, b) { devAskNewPage(TRUE) qplot(a, b); # grid.newpage(recording = TRUE) dev.new() qplot(a, a+a); # grid.newpage(recording = TRUE) dev.new() qplot(b, b+b); } library(ggplot2) x <- rnorm(50) y <- rnorm(50) testf(x, y) No entanto, nem dev.new () […]

Por que não é aconselhável usar attach () em R e o que devo usar em vez disso?

Vamos supor que tenhamos um quadro de dados x que contenha as colunas job e income . Consultar os dados no quadro normalmente requer os comandos x$job para os dados na coluna job e x$income para os dados na coluna de income . No entanto, usar o comando attach(x) permite eliminar o nome do quadro […]

Por que as declarações ifelse de R não retornam vetores?

Eu encontrei as declarações ifelse de R para ser bastante útil de vez em quando. Por exemplo: ifelse(TRUE,1,2) # [1] 1 ifelse(FALSE,1,2) # [1] 2 Mas estou um pouco confuso com o seguinte comportamento. ifelse(TRUE,c(1,2),c(3,4)) # [1] 1 ifelse(FALSE,c(1,2),c(3,4)) # [1] 3 Esta é uma opção de design acima do meu índice de pagamento?

Dificuldade de comparação numérica em R

Estou tentando comparar dois números em R como parte de uma condição if-statement: (ab) >= 0.5 Neste caso particular, a = 0,58 eb = 0,08 … e ainda assim (ab) >= 0.5 é falso. Estou ciente dos perigos de usar == para comparações exatas de números, e isso parece relacionado: (a – b) == 0.5) […]

Como salvar um gráfico como imagem no disco?

Eu traço uma regressão linear simples usando R. Eu gostaria de salvar essa imagem como PNG ou JPEG, é possível fazê-lo automaticamente? (via código) Existem duas questões diferentes: Primeiro, eu já estou olhando para o gráfico no meu monitor e gostaria de salvá-lo como está. Em segundo lugar, eu ainda não criei o enredo, mas […]