Tengo una pregunta que seguramente debe parecer muy trivial, pero la respuesta siempre me ha aludido: ¿cómo se imprimen valores para múltiples variables en la misma línea de dentro de un for-loop?Imprimir valores para múltiples variables en la misma línea desde un for-loop
presento dos soluciones que no se basan en nada más que una declaración formateada print
, y todavía estoy interesado en si print
puede, por sí mismo, ser utilizado para devolver la salida en el formato deseado.
En primer lugar presento la for-loop
, que contiene una solución, y luego presento una función que representa otra solución:
P <- 243.51
t <- 31/365
n <- 365
for (r in seq(0.15, 0.22, by = 0.01)) {
A <- P * ((1 + (r/ n))^ (n * t))
interest <- A - P
# this prints each variable on a separate line
print (r)
print (interest)
# this does not work
# print c(r, interest)
# this presents both variables on the same line, as desired
output <- c(r,interest)
print(output)
# EDIT - I just realized the line below prints output in the desired format
print (c(r, interest))
}
# this function also returns output in the desired format
data.fn <- function(r) {
interest <- P*(1+(r/ n))^(n*t) - P
list(r = r, interest = interest)
}
my.output <- as.data.frame(data.fn(seq(0.15, 0.22, by = 0.01)))
my.output
# r interest
# 1 0.15 3.121450
# 2 0.16 3.330918
# 3 0.17 3.540558
# 4 0.18 3.750370
# 5 0.19 3.960355
# 6 0.20 4.170512
# 7 0.21 4.380842
# 8 0.22 4.591345
¿Hay una manera de formatear print
declaraciones en el for-loop
por lo que la declaración print
, por sí mismo, devuelve salida formateada como en my.output
? Sé que también podría colocar una matriz dentro del for-loop que almacena los valores de r
y interest
y luego imprimir la matriz después de que termine el ciclo. Sin embargo, pensé que usar una declaración print
sería más fácil, especialmente porque no necesito retener los valores de r
o interest
.
Gracias por cualquier consejo. Perdón otra vez, esta pregunta es muy trivial. He buscado bastante la respuesta durante un período prolongado, pero nunca he encontrado la solución. Tal vez he presentado suficientes soluciones en esta publicación para hacer posibles soluciones adicionales excesivas. Sin embargo, sigo interesado.
EDIT:
Además de las respuestas a continuación votos me acabo de dar cuenta que el uso de:
print (c(r, interest))
en el anterior for-loop
también funciona.
Eche un vistazo al gato en lugar de imprimir. –
Gracias. Todos los comentarios fueron geniales. Es por eso que amo este sitio. –