就我的目的而言,费用看上去很不错,但我有一个小小的问题。
试1(不起作用):当我在dataframe上使用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()
}Try 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表呢?有人能指点我吗。
发布于 2019-04-02 11:29:08
您需要在循环中对计算结果进行处理。您可以打印它们,例如:
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()
}https://stackoverflow.com/questions/55467876
复制相似问题