expss tab_pivot()不从for循环内返回任何内容

时间:2019-04-02 06:00:17

标签: r expss

expss看起来很适合我的目的,但是我有一个小问题。

尝试1(不起作用): 当我在数据帧上使用expss时,一切正常,但是我想对数据帧进行子集化,然后在每个子集上调用expss。为了子集并调用expss,我使用了for循环。数据帧是正确的子集,但expss不返回任何内容。




municipal_lists <- unique(leeftijd1$Regio)[1:3]

for (i in seq_along(municipal_lists)){
  zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[i])
  zx %>%
    expss::tab_rows(Regio) %>%
    expss::tab_cells(`Leeftijdscategorie 1`) %>%
    expss::tab_cols(Perioden) %>%
    expss::tab_stat_cases() %>%
    expss::tab_pivot() 

}

尝试2次(无效): 然后,我创建了一个所有expss调用的函数。当我在数据帧上使用此功能时,它将起作用。但是,如果我将此函数放入for循环中,则该函数不会返回任何内容。

get_table <-function(zx){
    zx %>%
    expss::tab_rows(Regio) %>%
    expss::tab_cells(`Leeftijdscategorie 1`) %>%
    expss::tab_cols(Perioden) %>%
    expss::tab_stat_cases() %>%
    expss::tab_pivot() #%>%


}



municipal_lists <- unique(leeftijd1$Regio)[1:3]

for (i in seq_along(municipal_lists)){
  zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[i])
  get_table(zx)

}

函数正在工作:函数调用在没有for循环的情况下有效,但是对于整个数据帧(具有固定索引)



get_table <-function(zx){
    zx %>%
    expss::tab_rows(Regio) %>%
    expss::tab_cells(`Leeftijdscategorie 1`) %>%
    expss::tab_cols(Perioden) %>%
    expss::tab_stat_cases() %>%
    expss::tab_pivot() 


}



municipal_lists <- unique(leeftijd1$Regio)[1:3]
 zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[1])
 get_table(zx)



直接调用有效:没有for循环或没有函数调用的最简单形式正在按预期工作。




  zx <- leeftijd1
  zx %>%
    expss::tab_rows(Regio) %>%
    expss::tab_cells(`Leeftijdscategorie 1`) %>%
    expss::tab_cols(Perioden) %>%
    expss::tab_stat_cases() %>%
    expss::tab_pivot() 


那么,如何为较大数据帧的每个子集获取一个expss表?有人可以指导我吗。

1 个答案:

答案 0 :(得分:0)

您需要对循环内的计算结果进行处理。您可以打印它们,例如:

municipal_lists <- unique(leeftijd1$Regio)[1:3]

for (i in seq_along(municipal_lists)){
  zx <-subset(leeftijd1, leeftijd1$Regio == municipal_lists[i])
  zx %>%
    expss::tab_rows(Regio) %>%
    expss::tab_cells(`Leeftijdscategorie 1`) %>%
    expss::tab_cols(Perioden) %>%
    expss::tab_stat_cases() %>%
    expss::tab_pivot()  %>%
    print()

}
相关问题