Ajuda verificação!

classic Clássica list Lista threaded Em Árvore
2 mensagens Opções
Responder | Em Árvore
Abra essa mensagem na visão em árvore
|

Ajuda verificação!

isabela.gyuricza
Oi pessoas,

Preciso fazer um gráfico com o objeto "variaveis", mas ele deve conter apenas valores numéricos, mas tem que ser um data.frame. Criei essas duas checagens:

 if (class(variaveis) != "data.frame")
 {stop ("variaveis só pode ser da classe dataframe")}

if (is.numeric(row(variaveis)) != "TRUE")
{stop ("variaveis só pode conter valores numéricos")}

Acontece que já testei com objetos que são um data.frame apenas com colunas "fator com níveis" e o resultado do meu is.numeric é TRUE.

Alguém me dá uma luz?
Responder | Em Árvore
Abra essa mensagem na visão em árvore
|

Re: Ajuda verificação!

danilomuniz
Porque vc está usando a função row() ali no meio? Se vc olhar o help dela, verá que ela retorna uma matriz de números inteiros.

Acho que o caminho mais fácil é usar o class() separadamente para cada coluna.

Por exemplo

> dados = data.frame(numero = rnorm(100),
+                    fator = sample(LETTERS, 100, replace=TRUE))

> str(dados)
'data.frame':    100 obs. of  2 variables:
 $ numero: num  -0.0201 0.4883 -0.2888 0.8223 -1.6015 ...
 $ fator : Factor w/ 26 levels "A","B","C","D",..: 21 4 7 9 12 20 8 1 6 8 ...

> class(dados[,1])
[1] "numeric"

> class(dados[,2])
[1] "factor"