Curso
A função c()
no R é a maneira mais fácil de criar e combinar vetores. É uma parte essencial de como o R lida com dados e é algo que todo usuário do R deve saber.
Se você está começando a usar o R, não deixe de fazer nosso curso Introdução à programação em R para aprender todos os conceitos básicos, inclusive vetores, listas, quadros de dados e muito mais. Também escrevi um artigo sobre como aprender R se você quiser criar um plano de aprendizado.
(E se você estiver você estivercurioso sobre a maneira difícil de criar vetores , criei um FAQ no final).
O que é a função c() no R?
A documentação da função c() do R nos diz que c()
combina valores em um vetor (portanto, acho que é seguro presumir que o "c" significa "combinar"). Se você não sabe o que isso significa, mostrarei como nos exemplos abaixo.
Antes de prosseguirmos, devo dizer, mais especificamente, que a função c()
recebe qualquer número de argumentos e retorna um vetor que contém todos os valores. Além disso, ele também converte automaticamente os valores para um tipo de dados comum (para o tipo de dados mais flexível) se os tipos de dados forem diferentes, o que seria necessário nesse caso.
Usando c() para combinar valores
Nosso primeiro exemplo: Você pode usar o site c()
para criar vetores combinando valores individuais ou variáveis. Você pode ver com esses exemplos que o c()
funciona para diferentes tipos de dados, como numéricos, caracteres e lógicos.
numeric_vector <- c(10, 20, 30, 40)
character_vector <- c("apple", "banana", "cherry")
logical_vector <- c(TRUE, FALSE, TRUE)
Combinação de vetores existentes com c()
Você também pode combinar vetores existentes usando o site c()
. Isso é útil quando você deseja mesclar várias fontes de dados ou resultados.
first_half <- c(1, 2, 3)
second_half <- c(4, 5, 6)
full_vector <- c(first_half, second_half)
Usando c() com elementos nomeados
Você pode atribuir nomes a elementos em um vetor usando c()
. Isso é útil para rotular dados.
fruit_counts <- c(apple = 5, banana = 3, cherry = 7)
c() com diferentes tipos de dados
Ao combinar diferentes tipos de dados, o site c()
converterá todos os elementos para o mais flexível. Por exemplo, a combinação de números e caracteres resultará em um vetor de caracteres. Isso ocorre porque "dois" não pode ser lido como um tipo numérico, mas "1" pode ser um caractere.
mixed_vector <- c(1, "two", 3)
Nosso resultado aqui será um vetor de caracteres: "1", "2", "3".
Criando um quadro de dados com c()
Você pode usar o site c()
para criar vetores que servirão como colunas em um quadro de dados. Para fazer isso, também estou usando a função data.frame()
para juntar os vetores.
customer_names <- c("Alice", "Bob", "Charlie")
purchase_totals <- c(120.50, 75.00, 99.99)
customer_data <- data.frame(name = customer_names, total = purchase_totals)
Conclusão
Como você viu, a função c()
é uma parte essencial da programação do R. Nos exemplos, mostrei como você pode criar e combinar vetores.
Faça nosso curso de Introdução à Programação em R para obter um caminho de aprendizagem estruturado para você começar e continuar avançando em suas habilidades.

Pergunta final
Você disse que c() é a maneira mais fácil de criar vetores. Qual é a maneira mais difícil?
Embora o c()
seja o método mais conveniente e fácil de usar para iniciantes, há maneiras mais complexas de criar vetores no R. Aqui estão algumas delas:
Inicialização manual com vector() e indexação
Você pode criar um vetor vazio de um determinado tipo e comprimento e, em seguida, preenchê-lo com um elemento de cada vez:
x <- vector("numeric", 3) x[1] <- 1 x[2] <- 2 x[3] <- 3
Isso funciona, mas é mais detalhado e menos intuitivo para iniciantes.
Usando append() repetidamente
Você poderia começar com um vetor vazio e continuar acrescentando valores:
x <- c() x <- append(x, 1) x <- append(x, 2) x <- append(x, 3)
Isso é ineficiente e mais difícil de ler.
Usando outras funções como seq() ou rep()
Essas funções geram padrões específicos e são poderosas, mas são um exagero para vetores simples:
x <- seq(1, 3) y <- rep(1:3, times = 1)
Achatamento de outras estruturas
Você pode extrair elementos de uma lista e convertê-la em um vetor:
my_list <- list(1, 2, 3) x <- unlist(my_list)