Como consertar em r: argumentos envolvem diferentes números de linhas


Um erro que você pode encontrar no R é:

 arguments imply differing number of rows: 6, 5

Este erro ocorre quando você tenta criar um quadro de dados e o número de linhas em cada coluna do quadro de dados não é o mesmo.

O exemplo a seguir mostra como corrigir esse erro na prática.

Como reproduzir o erro

Suponha que estejamos tentando criar um quadro de dados em R usando três vetores:

 #definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)

#attempt to create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)

Error in data.frame(x1 = x1, x2 = x2, y = y): 
  arguments imply differing number of rows: 6, 5

Recebemos um erro porque cada vetor não tem o mesmo comprimento, portanto, cada coluna no quadro de dados resultante não possui o mesmo número de linhas.

Podemos verificar isso imprimindo o comprimento de cada vetor:

 #print length of each vector
length(x1)

[1] 6

length(x2)

[1] 5

length(y)

[1] 6

Podemos ver que o vetor x2 tem comprimento 5, o que não corresponde ao comprimento dos vetores x1 e y .

Como corrigir o erro

Para corrigir esse erro, precisamos simplesmente garantir que cada vetor tenha o mesmo comprimento, para que cada coluna no quadro de dados resultante tenha o mesmo número de linhas.

Por exemplo, poderíamos preencher o vetor mais curto com valores NA para que cada vetor tenha o mesmo comprimento:

 #definevectors
x1 <- c(1, 2, 3, 4, 5, 6)
x2 <- c(8, 8, 8, 7, 5)
y <- c(9, 11, 12, 13, 14, 16)

#pad shortest vector with NA's to have same length as longest vector
length(x2) <- length(y)

#create data frame using vectors as columns
df <- data. frame (x1=x1, x2=x2, y=y)

#view resulting data frame
df

  x1 x2 y
1 1 8 9
2 2 8 11
3 3 8 12
4 4 7 13
5 5 5 14
6 6 NA 16

Observe que não recebemos um erro porque cada coluna no quadro de dados resultante possui o mesmo número de linhas.

Recursos adicionais

Os tutoriais a seguir explicam como corrigir outros erros comuns no R:

Como consertar em R: o argumento não é numérico nem lógico: return na
Como reparar em R: argumento não numérico do operador binário
Como reparar em R: a substituição tem comprimento zero

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *