1
votes

Obtenir une sortie avec des guillemets et sans guillemets

Résultat obligatoire

df1 <- factor(LETTERS[1:3])
paste(levels(df1), 5, sep = "=")
#> [1] "A=5" "B=5" "C=5"

noquote(capture.output(cat(paste(shQuote(levels(df1)), 5, sep = "="), sep = ",")))
#> [1] 'A'=5,'B'=5,'C'=5

Ce qui a été fait

c('A'=5,'B'=5,'C'=5)

Toute aide pour obtenir le résultat requis, s'il vous plaît.


2 commentaires

@RonakShah: Non, il ne donne pas la sortie requise.


Merci @RonakShah pour votre commentaire utile. Veuillez modifier votre commentaire pour répondre. Merci


3 Réponses :


1
votes
ltrs <- LETTERS[1:3]
nbrs <- c(5,5,5)
names(nbrs) = ltrs
nbrs %>% dput

1 commentaires

Merci @ Andreé pour votre réponse. Votre code donné donne la sortie c (A = 5, B = 5, C = 5) . Cependant, la sortie requise est c ('A' = 5, 'B' = 5, 'C' = 5) . Toutes les pensées, s'il vous plaît.



2
votes

Nous pourrions utiliser setNames pour nommer le vecteur et rep pour créer un vecteur numérique.

setNames(rep(5, length(df1)), df1)

#A B C 
#5 5 5 


1 commentaires

Merci @RonakShah pour votre aide. Je fais une autre question ici .



1
votes

Nous pouvons utiliser replicate

library(tibble)
deframe(tibble(df1, 5))
#   A B C 
#  5 5 5 

Ou de manière plus compacte

setNames(replicate(length(df1), 5), df1)
# A B C      
# 5 5 5 


0 commentaires