Estou apenas lendo o livro "R em poucas palavras". E parece que eu pulei a parte em que o "." como em "sample.formula" foi explicado.
> sample.formula <- as.formula(y~x1+x2)
A amostra é um objeto com uma fórmula de campo como em outros idiomas? Se sim, como posso descobrir quais outros campos / funções esse objeto possui? (Declaração de tipo)
EDIT: Acabei de encontrar outro uso confuso do ".":
> svm(formula = is_spam~., data = spambase.training)
(o ponto entre ~.,)
.
na fórmula diz R para usar todas as variáveis no quadro de dadosspambase.training
(excetois_spam
) como preditores. O modelo é adequado .y ~ 1
Respostas:
O ponto pode ser usado como no nome normal. No entanto, tem uma interpretação especial adicional. Suponha que tenhamos um objeto com classe específica:
Agora declare
myfunction
como genérico padrão da seguinte maneira:Agora declare a função
Então o ponto tem um significado especial. Para todos os objetos com
myclass
chamada de classerealmente chamará a função
myfunction.myclass
:Isso é amplamente utilizado em R, o exemplo mais apropriado é a função
summary
. Cada classe tem sua própriasummary
função; portanto, quando você ajusta algum modelo, por exemplo (que geralmente retorna um objeto com uma classe específica), é necessário chamarsummary
e ele chamará a função de resumo apropriada para esse modelo específico.fonte
...
(que é um único léxico, não uma sequência de três diferentes) como um "ponto", enquanto a pergunta claramente significa um ponto.
usado em fórmulas e nomes de uma maneira totalmente diferente, conforme corretamente descrito em um artigo contemporâneo. resposta por Chase.Veja a página de ajuda
?formula
referente a.
Aqui estão os bits relevantes:Alternativamente, os
reshape
ereshape2
pacotes de usar.
e...
um pouco diferente (de?cast
):fonte
Existem algumas exceções (envio do método S3), mas geralmente é simplesmente usado como auxílio à legibilidade e, como tal, não tem significado especial.
fonte
.
. Isso pertence aos nomes das funções. Quanto aos nomes de objetos (não funcionais), então sim, não há significado especial..
torna o objeto invisívells()
.O ponto no sample.formula não separa a amostra da fórmula , exceto visualmente. É apenas um nome de variável. Os nomes de variáveis R podem consistir em alfanuméricos e ponto (.) E sublinhado (_) com uma exceção. Aqui está a regra real:
" Um nome sintaticamente válido consiste em letras, números e os caracteres de ponto ou sublinhado e começa com uma letra ou o ponto não seguido por um número. Nomes como" .2way "não são válidos e nem as palavras reservadas. "
O segundo caso (ou seja, o caso de is_spam ~. ) É diferente e é explicado acima.
fonte