R均值方面计算(循环统计)

时间:2016-12-31 14:44:53

标签: r loops

我从DEM像素形成个别区域的方面数据。我想使用这些数据计算每个多边形的平均值。我希望将该函数应用于我的df的每一行,并将其存储在'Mean_Aspect'列中。

我的数据框如下所示:DF Example

我到目前为止的代码计算了平均方面,如果我将一个粘贴csv复制到其中,但我无法弄清楚如何循环/应用于所有。 'angle'中的值是示例onkly。

<input type='hidden' name='compo' value='DECODERS'>DECODERS
<select name='fill'>
<option value='1010'>20'>30'>40</option>
<option value='2010'>20'>30'>40</option>
<option value='3010'>20'>30'>40</option>
<option value='40'>'>1010'>20'>30'>40</option>
<option value='2010'>20'>30'>40</option>
<option value='3010'>20'>30'>40</option><option value='40'></option>
</select>
<input type='hidden' name='compo' value='DECODERS'>DECODERS
<select name='fill'>
<option value='10'>10</option>
</select>

任何帮助/建议表示赞赏!

2 个答案:

答案 0 :(得分:3)

如果列包含要计算的角度,您可以尝试:

data$Mean_Aspect <- lapply(data$degrees, function(angles) mean(circular(angles, type="angles", units="degrees",modulo="2pi", template='geographics')))

答案 1 :(得分:1)

我们可以使用sapply

data$Mean_Aspect <- sapply(data$Degrees, function(angles) 
   mean(circular(angles, type="angles", units="degrees",modulo="2pi", 
                template='geographics')))
data$Mean_Aspect
#[1] 129.184797   6.358874 243.757731 128.159000

数据

data <- data.frame(FID = 0:3, Degrees = I(list(c(120.53, 133, 854), 
          c(338.629, 331.991, 323.4, 133.2, 432), 
         c(251.114, 248.003, 232.1), c(121.992, 134.326))), 
      Mean_Aspect = 0)