从函数中打印值

时间:2015-01-20 07:29:06

标签: r

我在R中搜索一种方法,从ab

范围内的函数中获取整数的所有数字
pfA <- function(x) {  return (  123 * x ) ; }
p_a = Vectorize(pfA, "x")
plot(0,0, col="purple", type="l", xlim=c(-5,5000), ylim=c(-5,5000))
curve (p_a(x), col="red", add=TRUE)
print_values((p_a(x),a,b)

其中print_values将返回一个列表(或两个数组),包含xa范围内的所有b以及函数的相应返回值

 1 : 123
 2 : 246
 3 : 369
...

1 个答案:

答案 0 :(得分:2)

我修改了curve函数的代码以创建myfun

myfun <-
function (expr, from, to) 
{
  sexpr <- substitute(expr)
  x <- seq.int(from, to)
  ll <- list(x = x)
  y <- eval(sexpr, envir = ll)
  cbind(x = ll[["x"]], y)
}

使用示例:

a <- -5
b <- 5
myfun(p_a(x), a, b)

#        x    y
#  [1,] -5 -615
#  [2,] -4 -492
#  [3,] -3 -369
#  [4,] -2 -246
#  [5,] -1 -123
#  [6,]  0    0
#  [7,]  1  123
#  [8,]  2  246
#  [9,]  3  369
# [10,]  4  492
# [11,]  5  615