2017-01-20 15 views
0

R関数の代理人に問題があります。あるいは、私が間違っていると思われるものがあります。R関数の問題

k = ((100)*(1-0.9)) 
    k # k = 10 
    length(rep(0,times = k)) # length of 9 instead of 10 
    length(rep(0,times = 10) # length of 10 ! 

変数kの値が10であるため、これは本当に奇妙です。

答えて

2

kを詳しく見てください。それは、整数ではありません、それは我々がkrep()times引数は整数でなければなりませんので、大切な整数であることを気に本当にも10

typeof(k) 
# [1] "double" 
print(k, digits = 22) 
# [1] 9.999999999999998223643 

ではありません。さらに、help(rep)

timesの非整数値はゼロに向かって切り捨てられます。

のでk

trunc(k) 
# [1] 9 

は、リンクを参照してください@Gregor kが本当に10

ない理由のコメントに残しなっ