非常に些細なことに思える質問がありますが、その答えは常に私をほのめかしてきました: for ループ内から同じ行に複数の変数の値を出力するにはどうすればよいでしょうか?
どちらも書式設定されたステートメントに依存する 2 つの解決策を提示しますが、それ自体を使用して目的の形式で出力を返すことができるprint
かどうかに興味があります。print
まずfor-loop
、1 つの解を含む を提示し、次に別の解を表す関数を提示します。
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
ステートメント自体が のようにフォーマットされた出力を返すように、print
ステートメントをフォーマットする方法はありますか? 値を格納する for ループ内に行列を配置し、ループの終了後に行列を出力することもできます。ただし、特にorの値を保持する必要がないため、ステートメントを使用する方が簡単だと思いました。for-loop
print
my.output
r
interest
print
r
interest
アドバイスありがとうございます。申し訳ありませんが、この質問はとても些細なことです。私は長期間にわたって答えをかなり探しましたが、解決策は見つかりませんでした。おそらく、この投稿で十分な解決策を提示したため、追加の可能な解決策がやり過ぎになる可能性があります。それにもかかわらず、私は興味を持ち続けます。
編集:
以下の役立つ回答に加えて、次を使用していることに気付きました。
print (c(r, interest))
上記でfor-loop
も動作します。