我有一个问题肯定看起来很琐碎,但答案总是暗指我:如何在同一行上打印多个变量的值在for循环?在for循环中打印同一行上多个变量的值
我提出了两种解决方案,这两种解决方案都不仅仅依赖格式化的print
声明,而且我仍然对是否可以使用print
本身用于以所需格式返回输出感兴趣。
首先,我介绍了for-loop
,其中包含一个解决方案,然后我提出这代表了另一种解决方案的功能:
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
有没有办法来格式化的for-loop
使得print
声明print
陈述,本身返回的格式如my.output
所示?我知道我也可以在存储r
和interest
的值的for循环中放置一个矩阵,然后在循环完成后打印矩阵。不过,我认为使用print
声明会更容易,尤其是因为我不需要保留r
或interest
的值。
谢谢你的任何建议。对不起,这个问题是如此微不足道。我在很长一段时间内对这个答案进行了相当多的搜索,但从未找到解决方案。也许我已经在这篇文章中提出了足够的解决方案,以使更多可能的解决方案过度使用尽管如此,我仍然感兴趣。
编辑:
除了有用的反应低于我才意识到,使用:
print (c(r, interest))
在上面for-loop
也适用。
看看猫而不是印刷品。 – 2012-04-15 08:20:11
谢谢。所有的反馈都很棒。这就是为什么我喜欢这个网站。 – 2012-04-15 09:29:45