a = today+1; b = today+7
new <- data.frame(t_date = as.Date(a:b ,origin = "2020-01-20"))
predict_date <- as.Date(a:b,origin="2020-01-20")
predict_date = c(as.character.Date(predict_date))
Final <- cbind(predict_date,predict.lm(fit,new,interval = "confidence"))
knitr::kable(Final,caption = "This is the predictions for the world ")
我希望输出为整数,谁能帮我解决这个问题!
要控制打印输出的位数,请设置为 "1"。digits
争论 kable()
.
为了控制实际数字的精确度,用户 round()
.
下面是一个可复制的例子。
library(dplyr)
library(knitr)
mdl <- lm(dist ~ speed, data = cars)
explanatory_data <- data.frame(
speed = seq(0, 100, 10)
)
predictions <- explanatory_data %>%
mutate(
dist = predict(mdl, explanatory_data)
)
默认情况下。kable()
打印尽可能多的数字 getOption("digits")
.
predictions %>%
kable()
| speed| dist|
|-----:|---------:|
| 0| -17.57909|
| 10| 21.74499|
| 20| 61.06908|
| 30| 100.39317|
| 40| 139.71726|
| 50| 179.04134|
| 60| 218.36543|
| 70| 257.68952|
| 80| 297.01361|
| 90| 336.33769|
| 100| 375.66178|
用以下方法改变它 digits
参数。
predictions %>%
kable(digits = 2)
| speed| dist|
|-----:|------:|
| 0| -17.58|
| 10| 21.74|
| 20| 61.07|
| 30| 100.39|
| 40| 139.72|
| 50| 179.04|
| 60| 218.37|
| 70| 257.69|
| 80| 297.01|
| 90| 336.34|
| 100| 375.66|
这并不会改变基本的数字。你可以使用 round()
(但这通常是个坏主意,因为任何进一步的计算都会不太准确)。
predictions %>%
mutate(rounded_dist = round(dist, 2))
speed dist rounded_dist
1 0 -17.57909 -17.58
2 10 21.74499 21.74
3 20 61.06908 61.07
4 30 100.39317 100.39
5 40 139.71726 139.72
6 50 179.04134 179.04
7 60 218.36543 218.37
8 70 257.68952 257.69
9 80 297.01361 297.01
10 90 336.33769 336.34
11 100 375.66178 375.66
这对你来说应该是可行的->
Final$fit <- round(Final$fit)
Final$lwr <- round(Final$lwr)
Final$upr <- round(Final$upr)