R 将函数应用于数据帧的块
我是一名C#程序员,被要求在R中做一些工作。我需要弄清楚如何多次调用传递数据帧“块”的函数;对于前两列不同的所有行,我需要调用函数一次 我的意思是:R 将函数应用于数据帧的块,r,dataframe,R,Dataframe,我是一名C#程序员,被要求在R中做一些工作。我需要弄清楚如何多次调用传递数据帧“块”的函数;对于前两列不同的所有行,我需要调用函数一次 我的意思是: Stratum<-c("FPN", "FPN", "FPN", "MPN", "MPN", "MPN") Cal<-c("ynnn", "ynnn", "yynn", "ynnn", "ynnn", "yynn") Band.1<-c(1,2,1,1,2,1) Band.2<-c(2,3,2,2,3,2) Regroup&l
Stratum<-c("FPN", "FPN", "FPN", "MPN", "MPN", "MPN")
Cal<-c("ynnn", "ynnn", "yynn", "ynnn", "ynnn", "yynn")
Band.1<-c(1,2,1,1,2,1)
Band.2<-c(2,3,2,2,3,2)
Regroup<-c("No","Yes","No","Yes","No","No")
decs.data<-data.frame(Stratum,Cal,Band.1,Band.2,Regroup,stringsAsFactors=FALSE)
Stratum Cal Band.1 Band.2 Regroup
FPN ynnn 1 2 No
FPN ynnn 2 3 Yes
FPN yynn 1 2 No
MPN ynnn 1 2 Yes
MPN ynnn 2 3 No
MPN yynn 1 2 No
Stratum您正在通过
查找。如果要在decs.data
的子集上运行函数,请使用strata
和Cal
作为拆分变量,可以执行以下操作:
by(decs.data,decs.data[c('Stratum','Cal')],function)
其中函数
是您的函数。您正在通过
查找。如果要在decs.data
的子集上运行函数,请使用strata
和Cal
作为拆分变量,可以执行以下操作:
by(decs.data,decs.data[c('Stratum','Cal')],function)
其中,函数
是您的函数。如果您提供了有关函数的更多详细信息,则更容易找到合适的解决方案。我在下面提到了
,这应该行得通。但是,如果您不需要将data.frame
中的所有行作为函数的参数,您可能可以使用稍微简单一点的解决方案。谢谢,我添加了更多信息,希望能更好地解释问题。尽管您进行了更新,但我认为我的答案仍然正确。如果您提供了有关函数的更多详细信息,找到合适的解决方案会更容易。我在下面提到了,这应该行得通。但是,如果您不需要将data.frame
中的所有行作为函数的参数,您可能可以使用稍微简单一点的解决方案。谢谢,我添加了更多信息,希望能更好地解释问题。我认为我的答案仍然正确,尽管您进行了更新。应该是(decs.data,decs.data[c('strata','Cal')),函数)应为(decs.data,decs.data[c('strata','Cal')],函数)