------ Area <-function(L,W){中的错误:找不到函数“-<-”

时间:2018-10-19 14:52:16

标签: r

我是R的新手,试图学习它以通过我的分析课程。为了我的一生,我无法识别出我需要的包含Area函数(L,W)的软件包。

请帮助。

2 个答案:

答案 0 :(得分:0)

我不知道使用该功能的软件包,听起来像是作为练习而创建的。

Area <- function(L, W){L * W}

答案 1 :(得分:0)

您至少应该真正尝试发布可复制的示例以及有关您已经尝试过的内容的更多详细信息。通常,面积是使用[x,y]坐标对导出的。这样一来,人们就可以使用顶点在非矩形数据(例如圆形和多边形)上计算面积。

这里是计算指定的x,y坐标向量的面积的函数

area <- function (x, y) {
  if (any(length(x) != length(y))) 
    stop("x and y must be the same length")
  n <- length(x)  
  return( 0.5 * (abs(sum(x[1:(n - 1)] * y[2:n]) + x[n] * y[1] -
          sum(x[2:n] * y[1:(n - 1)]) + x[1] * y[n])) )
    }

现在,我们可以将该函数应用于一个简单的矩形,该矩形具有四个代表角的坐标对。

x <- c(0, 0, 20, 20)   
y <- c(0, 20, 20, 0)
plot(x,y,pch=19)
area(x,y) 

然后,一个圆代表具有12,289个顶点的更复杂的形状。

p <- seq(0, 2 * pi, len=3 * 2^12 + 1)
  x <- cos(p)
  y <- sin(p)
plot(x,y, type="l")
area(x,y)

如果您绝对需要矩形的[长,宽]解决方案,那么@ Jordo82已为您提供了答案。面积仅为L * W,但技巧是从任意图形空间中的坐标对获取长度和宽度。使用上一个示例中的矩形,我们可以通过取[x,y] min和max之差得到[L,W]。您确实不需要执行任何此操作的函数。

x <- c(0, 0, 20, 20)   
y <- c(0, 20, 20, 0)
area <- function(x, y) { abs(min(y) - max(y)) * abs(min(x) - max(x)) }
area(x,y)