基于不带for循环的条件选择数据帧

基于不带for循环的条件选择数据帧,r,dataframe,R,Dataframe,我有3个数据帧df1,df2,df3 根据年份情况,我想选择其中一个 我目前的方法是使用for循环。我能做得更好吗 if(year == "2008"){ df <- df1 } else if (year == "2009"){ df <- df2 } else{ df <- df3 } if(年份==“2008”){ df我会把它们放在一个列表中。比如: lst <- list('2008'= df1, '2009' = df

我有3个数据帧
df1
df2
df3

根据年份情况,我想选择其中一个

我目前的方法是使用for循环。我能做得更好吗

  if(year == "2008"){
    df <- df1
  } else if (year == "2009"){
    df <- df2
  } else{
    df <- df3
  }
if(年份==“2008”){

df我会把它们放在一个列表中。比如:

lst <- list('2008'= df1, '2009' = df2, '2010' = df3)

我会把它们列在一个列表中,比如:

lst <- list('2008'= df1, '2009' = df2, '2010' = df3)
Ifelse方法:

df = ifelse(year == 2008, df1, ifelse(year == 2009, df2, df3))
Ifelse方法:

df = ifelse(year == 2008, df1, ifelse(year == 2009, df2, df3))

但是你已经没有使用循环了。开关也可以工作。df@rawr:在这个上面有一个for循环,它一个接一个地运行并获取年份值。但是你已经没有使用循环了。开关也可以工作。在这个上面有一个for循环,它一个接一个地运行并获取年份值。我尝试过这种方法,但它不起作用,你确定它有效吗为您准备的ks?这是如何使用条件ifelse()的基本概念。这实际上取决于数据帧的保存位置。最好的解决方案是将其存储在单个数据帧中,然后根据年份对其进行子集或将其存储在列表中。我尝试了这种方法,但没有成功,你确定它对你有效吗?这是如何使用条件ifelse()的基本方法。这实际上取决于数据帧保存的位置。最好的解决方案是将其存储在单个数据帧中,然后根据年份将其子集或存储在列表中。