使用apply或aggregate执行带有2个参数的函数

时间:2015-09-26 11:29:17

标签: r split arguments subset

除了“x”和“y”列之外,我还有数据框,其中有几列用于分割数据(现在说是2)。我希望在通过2列进行分段后,在“x”和“y”上执行散点图或lm等功能。

我一直在每个子集之后存储“迷你”数据并调用更多循环,直到我得到所需的“x”和“y”,但是在3次或更多次循环后它变得复杂。最近,我尝试创建一个存储所有可能组合的“密钥”变量。

是否有一种简单的方法来首先拆分数据并调用该函数?也许是应用或聚合的延伸,但所有因素都需要经过所有组合。

import java.util.StringTokenizer;  
class StringFormatExample
{
    public static void main(String args[])
    {
        StringTokenizer st = new StringTokenizer("10||A||##||20||B||","||");  

         while (st.hasMoreTokens()) 
        {  
            System.out.println(st.nextToken());  
            }  
    }
}

由于

1 个答案:

答案 0 :(得分:1)

听起来您需要汇总功能ave或包dplyrdata.table

如果您只是密谋,可以ggplot2使用facet_wrap。 Facet wrap根据您要分组的内容采用简短的公式:

library(ggplot2)
ggplot(df, aes(x = X_height, y = Y_weight)) +
       geom_line()  +
       facet_wrap(~country + gender, ncol = 2)
#the same as
ggplot(df, aes(x = X_height, y = Y_weight)) + 
       geom_line()  +
       facet_wrap(~Key, ncol = 2)

enter image description here