对R中的多个数据帧应用相同的函数

对R中的多个数据帧应用相同的函数,r,R,我是一个新的R用户,我的代码遇到了问题。我有16个不同的数据帧,我想为每个数据帧应用相同的函数。然后,我想将所有结果放入新的数据帧中。 我写了这段代码,效果很好: df2012<-as.data.frame(cprop(wtd.table(database2012$year,database2012$nivvie_dec,weights=database2012$wprm),total=FALSE)) df2012$annee<-"2012" df2011&l

我是一个新的R用户,我的代码遇到了问题。我有16个不同的数据帧,我想为每个数据帧应用相同的函数。然后,我想将所有结果放入新的数据帧中。 我写了这段代码,效果很好:

    df2012<-as.data.frame(cprop(wtd.table(database2012$year,database2012$nivvie_dec,weights=database2012$wprm),total=FALSE))
    df2012$annee<-"2012"
    df2011<-as.data.frame(cprop(wtd.table(database2011$year,database2011$nivvie_dec,weights=database2011$wprm),total=FALSE))
    df2011$annee<-"2011"
    df2010<-as.data.frame(cprop(wtd.table(database2010$year,database2010$nivvie_dec,weights=database2010$wprm),total=FALSE))
    df2010$annee<-"2010"
    df2009<-as.data.frame(cprop(wtd.table(database2009$year,database2009$nivvie_dec,weights=database2009$wprm),total=FALSE))
    df2009$annee<-"2009"
    df2008<-as.data.frame(cprop(wtd.table(database2008$year,database2008$nivvie_dec,weights=database2008$wprm),total=FALSE))
    df2008$annee<-"2008"
    df2007<-as.data.frame(cprop(wtd.table(database2007$year,database2007$nivvie_dec,weights=database2007$wprm),total=FALSE))
    df2007$annee<-"2007"
    df2006<-as.data.frame(cprop(wtd.table(database2006$year,database2006$nivvie_dec,weights=database2006$wprm),total=FALSE))
    df2006$annee<-"2006"
    df2005<-as.data.frame(cprop(wtd.table(database2005$year,database2005$nivvie_dec,weights=database2005$wprm),total=FALSE))
    df2005$annee<-"2005"
    df2004<-as.data.frame(cprop(wtd.table(database2004$year,database2004$nivvie_dec,weights=database2004$wprm),total=FALSE))
    df2004$annee<-"2004"
    df2003<-as.data.frame(cprop(wtd.table(database2003$year,database2003$nivvie_dec,weights=database2003$wprm),total=FALSE))
    df2003$annee<-"2003"
    df2002<-as.data.frame(cprop(wtd.table(database2002$year,database2002$nivvie_dec,weights=database2002$wprm),total=FALSE))
    df2002$annee<-"2002"
    df2001<-as.data.frame(cprop(wtd.table(database2001$year,database2001$nivvie_dec,weights=database2001$wprm),total=FALSE))
    df2001$annee<-"2001"
    df2000<-as.data.frame(cprop(wtd.table(database2000$year,database2000$nivvie_dec,weights=database2000$wprm),total=FALSE))
    df2000$annee<-"2000"
    df1999<-as.data.frame(cprop(wtd.table(database1999$year,database1999$nivvie_dec,weights=database1999$wprm),total=FALSE))
    df1999$annee<-"1999"
    df1998<-as.data.frame(cprop(wtd.table(database1998$year,database1998$nivvie_dec,weights=database1998$wprm),total=FALSE))
    df1998$annee<-"1998"
    df1997<-as.data.frame(cprop(wtd.table(database1997$year,database1997$nivvie_dec,weights=database1997$wprm),total=FALSE))
    df1997$annee<-"1997"
    df1996<-as.data.frame(cprop(wtd.table(database1996$year,database1996$nivvie_dec,weights=database1996$wprm),total=FALSE))
    df1996$annee<-"1997"
    df19962012<-rbind(df1996,df1997,df1998,df1999,df2000,df2001,df2002,df2003,df2004,df2005,df2006,df2007,df2008,df2009,df2010,df2011,df2012)

df2012你可以做类似
complete\u dataframe的事情你可以做类似
complete\u dataframe的事情你可以做类似
complete\u dataframe的事情你可以再次做类似
complete\u dataframe的事情,请参阅我的评论以生成一个新的示例,但是以下内容应该是你问题的核心内容,并且是可以重复的。慢慢地浏览每一部分,了解发生了什么。一般来说,如果可能,您应该努力做到,并养成随时重复代码行的写作习惯:

制作两个“假”data.frames:

df1 <- data.frame(x = 1:10)
df2 <- data.frame(x = 11:20)
找到模式的所有对象
df any number
,并将它们存储在
dfs

dfs <- ls(pattern = "df[0-9]")
dfs

一些有助于指导您理解的帖子:


再次,请参见我的评论以生成一个新的示例,但以下内容应该是您问题的核心要素,并且是可复制的。慢慢地浏览每一部分,了解发生了什么。一般来说,如果可能,您应该努力做到,并养成随时重复代码行的写作习惯:

制作两个“假”data.frames:

df1 <- data.frame(x = 1:10)
df2 <- data.frame(x = 11:20)
找到模式的所有对象
df any number
,并将它们存储在
dfs

dfs <- ls(pattern = "df[0-9]")
dfs

一些有助于指导您理解的帖子:


再次,请参见我的评论以生成一个新的示例,但以下内容应该是您问题的核心要素,并且是可复制的。慢慢地浏览每一部分,了解发生了什么。一般来说,如果可能,您应该努力做到,并养成随时重复代码行的写作习惯:

制作两个“假”data.frames:

df1 <- data.frame(x = 1:10)
df2 <- data.frame(x = 11:20)
找到模式的所有对象
df any number
,并将它们存储在
dfs

dfs <- ls(pattern = "df[0-9]")
dfs

一些有助于指导您理解的帖子:


再次,请参见我的评论以生成一个新的示例,但以下内容应该是您问题的核心要素,并且是可复制的。慢慢地浏览每一部分,了解发生了什么。一般来说,如果可能,您应该努力做到,并养成随时重复代码行的写作习惯:

制作两个“假”data.frames:

df1 <- data.frame(x = 1:10)
df2 <- data.frame(x = 11:20)
找到模式的所有对象
df any number
,并将它们存储在
dfs

dfs <- ls(pattern = "df[0-9]")
dfs

一些有助于指导您理解的帖子:


有关数据帧列表:

yDF <- function(y) {
  db <- get(paste0("database", y))
  df <- as.data.frame(cprop(wtd.table(db$year,db$nivvie_dec,weights=db$wprm),total=FALSE))
  df$annee <- y
  df
}
years <- 1996:2012
L <- lapply(years, yDF)

yDF数据帧列表:

yDF <- function(y) {
  db <- get(paste0("database", y))
  df <- as.data.frame(cprop(wtd.table(db$year,db$nivvie_dec,weights=db$wprm),total=FALSE))
  df$annee <- y
  df
}
years <- 1996:2012
L <- lapply(years, yDF)

yDF数据帧列表:

yDF <- function(y) {
  db <- get(paste0("database", y))
  df <- as.data.frame(cprop(wtd.table(db$year,db$nivvie_dec,weights=db$wprm),total=FALSE))
  df$annee <- y
  df
}
years <- 1996:2012
L <- lapply(years, yDF)

yDF数据帧列表:

yDF <- function(y) {
  db <- get(paste0("database", y))
  df <- as.data.frame(cprop(wtd.table(db$year,db$nivvie_dec,weights=db$wprm),total=FALSE))
  df$annee <- y
  df
}
years <- 1996:2012
L <- lapply(years, yDF)

yDF这不是一个好主意,所以其他人很难帮助你。也许您可以创建一些假数据集/data.frames?您可能需要编写一个简单的函数。我确信您需要
df1996$anneeth这不是一个简单的函数,因此其他人很难帮助您。也许您可以创建一些假数据集/data.frames?您可能需要编写一个简单的函数。我确信您需要
df1996$anneeth这不是一个简单的函数,因此其他人很难帮助您。也许您可以创建一些假数据集/data.frames?您可能需要编写一个简单的函数。我确信您需要
df1996$anneeth这不是一个简单的函数,因此其他人很难帮助您。也许您可以创建一些假数据集/data.frames?您可能需要编写一个简单的函数。我确信您需要
df1996$annee