Text 如何在嵌套函数的返回输出中包含文本?

Text 如何在嵌套函数的返回输出中包含文本?,text,rstudio,nested-function,Text,Rstudio,Nested Function,我正在R中编写一个简单的嵌套函数,它返回一个数值输出。我想向这个返回的输出中添加文本,并将结果限制在小数点后一位。大概是这样的: FirstFun <- function(x,z,h,g) { result1 <- (x + z)/(1-(0.2*(h/g))-(0.8*(h/g)^2)) return(paste("Your answer = ", result1, "inches"), nsmall = 1) } FirstFun(13,387,1728,1980) 当我删除n

我正在R中编写一个简单的嵌套函数,它返回一个数值输出。我想向这个返回的输出中添加文本,并将结果限制在小数点后一位。大概是这样的:

FirstFun <- function(x,z,h,g) {
result1 <- (x + z)/(1-(0.2*(h/g))-(0.8*(h/g)^2))
return(paste("Your answer = ", result1, "inches"), nsmall = 1)
}
FirstFun(13,387,1728,1980)
当我删除
nsmall=1
时,它工作正常:

> FirstFun(13,387,1728,1980)
[1] "Your answer =  1850.71887427348 inches"
如何将输出限制在小数点后一位

当我试图将第一个函数的输出嵌套到第二个函数中时,我也遇到了一个问题:

SecondFun <- function(result1,h,g) {
result2 <- result1*(1-(0.2*(h/g))-(0.8*(h/g)^2))
return(paste("New answer = "), result2, "inches")
}
SecondFun(FirstFun(13,387,1728,1980),1728,1980)
我的代码昨天运行良好,当时唯一的输出是数字,但现在我想在输出中包含文本,我遇到了问题。非常感谢您的帮助

SecondFun <- function(result1,h,g) {
result2 <- result1*(1-(0.2*(h/g))-(0.8*(h/g)^2))
return(paste("New answer = "), result2, "inches")
}
SecondFun(FirstFun(13,387,1728,1980),1728,1980)
Error in result1 * (1 - (0.2 * (g/h)) - (0.8 * (g/h)^2)) : 
non-numeric argument to binary operator