Incluyendo un espacio entre dos variables en un bucle for en R Markdown (salida en formato PDF).
Estoy intentando crear algunos estímulos utilizando R Markdown, y para cada prueba quiero extraer dos valores de dos columnas (L_Prob y R_Prob) en un marco de datos (D1) y presentarlos uno al lado del otro. Tengo la intención de generar un archivo de R Markdown en formato PDF. También tengo la intención de incluir algunos espacios entre los dos valores, sin embargo, tengo dificultades.
Mi código actual se ve así:
“`{r, echo = F, comment=NA, results=’asis’}
D1= data.frame(L_Prob=c("a+b","b+c","c+d"),R_Prob=c("d+e","e+f","f+g"))
for (i in 1:nrow(D1)){
a = D1%>% select(L_Prob) %>% slice(i) %>% pull
b = D1%>% select(R_Prob) %>% slice(i) %>% pull
cat(a," ",b)
cat("\n")
cat("¿Por qué eliges este problema?")
cat("\n")
cat("Parece ser más fácil de resolver")
cat("\n")
cat("Prefiero problemas de este tipo de números")
cat("\n")
cat("Sin ninguna razón en particular")
cat("\n")
cat("Otro__________")
cat("\n\n\n\n\n") # Insertar salto de página
}
“`
La salida se ve como “a+b b+c” sin espacio entre ellos. Lo que quiero que se vea es:
a+b b+c
He intentado cat(a, " ", b)
, pero no funciona. No estoy seguro de cómo puedo hacerlo y agradecería cualquier sugerencia.
Dado que estoy generando un archivo PDF, mi comprensión es que no puedo alinear a la izquierda a “a” y alinear a la derecha a “b”, pero corríjame si estoy equivocado.
¡Gracias de antemano por su ayuda!
davy.ai
Para agregar espacios entre
a
yb
, puedes usar la funciónpaste()
. Dentro del ciclofor
, modifica la funcióncat()
para incluirpaste()
de la siguiente manera:Esto insertará varios espacios entre los valores de
a
yb
.Si deseas ajustar la alineación de los valores, puedes usar la función
sprintf()
con el formato adecuado. Por ejemplo, para alinear a la izquierdaa
y a la derechab
, puedes modificar la funcióncat()
de la siguiente manera:Aquí
%10s
alinea a la derechab
y-10s
alinea a la izquierdaa
. Puedes ajustar los números para modificar el espacio entre las columnas.