如何让所有行显示?
How to get all the rows to show?
我正在尝试获取按其他两个变量分组的变量的摘要,并且我希望显示所有行。我该怎么做?
我使用的代码是:
usl %>% group_by(ethnicity_fct, harassment_fct) %>%
summarise(mean_menthealth = mean(menthealth, na.rm = T),
menthealth_var = var(menthealth, na.rm = T))
还有,有没有办法让NA不出现?
Table1
删除 NA 使用 drop_na()
us1 <- usl %>% group_by(ethnicity_fct, harassment_fct) %>%
summarise(mean_menthealth = mean(menthealth, na.rm = T),
menthealth_var = var(menthealth, na.rm = T)) %>% drop_na()
要查看所有行,请使用 print()
print(us1)
尝试使用 na.omit
继续管道以删除 NA
和 print.data.frame
以覆盖 tibbles 的打印方法。
usl %>%
group_by(ethnicity_fct, harassment_fct) %>%
summarise(mean_menthealth = mean(menthealth, na.rm = T),
menthealth_var = var(menthealth, na.rm = T)) %>%
na.omit() %>%
print.data.frame()
mtcars
数据集的示例。如果您想查看 summarise
之后的所有列 -> 据我所知,这是不可能的?!
您可以使用 mutate
附加一个额外的列。并使用 drop_na
删除任何 NA 行。
mtcars %>%
group_by(cyl, am) %>%
mutate(mean_mpg = mean(mpg, na.rm = T),
mpg_var = var(mpg, na.rm = T)) %>%
drop_na()
输出:
# A tibble: 32 x 13
# Groups: cyl, am [6]
mpg cyl disp hp drat wt qsec vs am gear carb mean_mpg mpg_var
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 21 6 160 110 3.9 2.62 16.5 0 1 4 4 20.6 0.563
2 21 6 160 110 3.9 2.88 17.0 0 1 4 4 20.6 0.563
3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1 28.1 20.1
4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1 19.1 2.66
5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2 15.0 7.70
6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1 19.1 2.66
7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4 15.0 7.70
8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2 22.9 2.11
9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2 22.9 2.11
10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4 19.1 2.66
# ... with 22 more rows
除了上面推荐的 drop_na()
删除 NA
值之外,您还可以使用 print(n = Inf, width = Inf)
查看 tibble 的所有行和列(请参阅 [=15= 的帮助]).
(如果您的数据是一个“普通”数据框而不是小标题,您可能会自动打印所有行(至少最多 options("max.print")
行,默认为 99999 ... )
mtcars %>% group_by(cyl, am) %>%
mutate(across(mpg, ~ ifelse(. < 20, NA, .))) %>% ## add some NAs for example
summarise(across(mpg, list(m = mean, v = var), na.rm = TRUE)) %>%
drop_na() %>%
print(n = Inf, width = Inf)
我正在尝试获取按其他两个变量分组的变量的摘要,并且我希望显示所有行。我该怎么做?
我使用的代码是:
usl %>% group_by(ethnicity_fct, harassment_fct) %>%
summarise(mean_menthealth = mean(menthealth, na.rm = T),
menthealth_var = var(menthealth, na.rm = T))
还有,有没有办法让NA不出现? Table1
删除 NA 使用 drop_na()
us1 <- usl %>% group_by(ethnicity_fct, harassment_fct) %>%
summarise(mean_menthealth = mean(menthealth, na.rm = T),
menthealth_var = var(menthealth, na.rm = T)) %>% drop_na()
要查看所有行,请使用 print()
print(us1)
尝试使用 na.omit
继续管道以删除 NA
和 print.data.frame
以覆盖 tibbles 的打印方法。
usl %>%
group_by(ethnicity_fct, harassment_fct) %>%
summarise(mean_menthealth = mean(menthealth, na.rm = T),
menthealth_var = var(menthealth, na.rm = T)) %>%
na.omit() %>%
print.data.frame()
mtcars
数据集的示例。如果您想查看 summarise
之后的所有列 -> 据我所知,这是不可能的?!
您可以使用 mutate
附加一个额外的列。并使用 drop_na
删除任何 NA 行。
mtcars %>%
group_by(cyl, am) %>%
mutate(mean_mpg = mean(mpg, na.rm = T),
mpg_var = var(mpg, na.rm = T)) %>%
drop_na()
输出:
# A tibble: 32 x 13
# Groups: cyl, am [6]
mpg cyl disp hp drat wt qsec vs am gear carb mean_mpg mpg_var
<dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
1 21 6 160 110 3.9 2.62 16.5 0 1 4 4 20.6 0.563
2 21 6 160 110 3.9 2.88 17.0 0 1 4 4 20.6 0.563
3 22.8 4 108 93 3.85 2.32 18.6 1 1 4 1 28.1 20.1
4 21.4 6 258 110 3.08 3.22 19.4 1 0 3 1 19.1 2.66
5 18.7 8 360 175 3.15 3.44 17.0 0 0 3 2 15.0 7.70
6 18.1 6 225 105 2.76 3.46 20.2 1 0 3 1 19.1 2.66
7 14.3 8 360 245 3.21 3.57 15.8 0 0 3 4 15.0 7.70
8 24.4 4 147. 62 3.69 3.19 20 1 0 4 2 22.9 2.11
9 22.8 4 141. 95 3.92 3.15 22.9 1 0 4 2 22.9 2.11
10 19.2 6 168. 123 3.92 3.44 18.3 1 0 4 4 19.1 2.66
# ... with 22 more rows
除了上面推荐的 drop_na()
删除 NA
值之外,您还可以使用 print(n = Inf, width = Inf)
查看 tibble 的所有行和列(请参阅 [=15= 的帮助]).
(如果您的数据是一个“普通”数据框而不是小标题,您可能会自动打印所有行(至少最多 options("max.print")
行,默认为 99999 ... )
mtcars %>% group_by(cyl, am) %>%
mutate(across(mpg, ~ ifelse(. < 20, NA, .))) %>% ## add some NAs for example
summarise(across(mpg, list(m = mean, v = var), na.rm = TRUE)) %>%
drop_na() %>%
print(n = Inf, width = Inf)