代码之家  ›  专栏  ›  技术社区  ›  Jake

使用for循环进行子集设置,并从该循环创建多个数据帧。

  •  0
  • Jake  · 技术社区  · 7 年前

    我试图创建一个作为数据帧子集的for循环。以下是数据:

    df1 <- data.frame(
      Number = c(45,62,27,34,37,55,40),
      Day = c("Mon", "Tues", "Wed", "Thurs", "Fri", "Sat", "Sun"),
      Time = c("1pm", "4pm", "3pm", "2pm", "4pm", "1pm", "2pm"),
      City = c("Chicago", "New York", "LA", "Miami", "San Diego", "Austin", "Dallas"))
    

    我正在尝试的功能是:

    allNames<-variable.names(df1)
    
    
    for (i in allNames){
      if(any(variable.names(df1)== i)){
        i <- df1[,c(i)]
      }
    }
    

    基本上,我试图对数据文件进行子集,这样最终的结果将是4个数据集,每个数据集都有一个来自df1的变量,每个子集的数据集将被命名为它所表示的变量。df1中的每个变量都是这样的

     Number
    1     45
    2     62
    3     27
    4     34
    5     37
    6     55
    7     40
    
        Day
    1   Mon
    2  Tues
    3   Wed
    4 Thurs
    5   Fri
    6   Sat
    7   Sun
    

    谢谢

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ross    7 年前

    尝试:

    for (i in allNames) {
      if(any(variable.names(df1)== i)) {assign(i, df1[,c(i)])}
    }