如何将国家/地区的数据框架划分为区域,计算每个区域的平均值,然后确定哪个区域的平均值最高?

时间:2018-01-29 11:28:38

标签: r dataframe

  1. 这是在R.我有点卡在此。我需要将这些国家分组到他们的地区,我想我明白该怎么做:

    life_expectancy_split_in_regions< - split(life_expectancy,life_expectancy $ region)

  2. This is how the structure of the data frame looks like at this point

    1. 然后,我想我需要利用“apply”来遍历每个区域并执行此功能:

      mean_of_regions< - apply(life_expectancy_split_in_regions,function(x){sapply(x $ change,mean)})

    2. 我认为这将获得每个地区的平均值。

    3. 然后,比较不同的地区,以确定哪个地区的“预期寿命平均变化”最高:我不知道该怎么做。

      • 只有很多活动部件,如果有人可以帮助我巩固我对它如何组合的理解,那就太好了。我为我的业余编码道歉。

2 个答案:

答案 0 :(得分:1)

我避免像这样拆分桌子,而是一起使用它。您需要找到每个区域的平均变化,然后确定哪个区域的变化最大。

我个人最喜欢的,data.table在这里效果很好:

library( data.table )
setDT( life_expectancy )

首先,对表格by区域进行分组,我们会找到每个区域的平均变化,标记该列mean.change。然后,我们将创建的表格管道到另一个函数,以提取具有最高mean.change结果的区域。

life_expectancy[ , .( mean.change = mean( change ) ),
                 by = region
              ][ , region[ which.max( mean.change ) ] ]

这应该(我无法测试,因为我没有你的数据)输出一个区域名称,对应于最高的平均值变化。

答案 1 :(得分:1)

随机数据的Tidyverse解决方案,因为您不提供样本数据:

    <body>
<div id="red-square">Fox</div>
<div id="blue-square">Other Side</div>
<div id="yellow-square">Oats</div>
<div id="pink-square">Chicken</div>

<script type="text/javascript">

    $("#red-square").draggable();
    $("#pink-circle").draggable();
    $("#yellow-square").draggable();
    $("#blue-square").droppable({
        drop: function( event, ui ) {
        alert("No");

    }

    });     

</script>

</body>