如果我想在dplyr调用中应用多个函数,我可以运行以下命令:
async function logIn() {
const { type, token } = await Expo.Facebook.logInWithReadPermissionsAsync('<APP_ID>', {
permissions: ['public_profile'],
});
if (type === 'success') {
// Get the user's name using Facebook's Graph API
const response = await fetch(
`https://graph.facebook.com/me?access_token=${token}`);
Alert.alert(
'Logged in!',
`Hi ${(await response.json()).name}!`,
);
}
}
输出:
mtcars %>% group_by(gear) %>% select(hp, disp) %>%
summarise_all(funs(n=sum(!is.na(.)), mean=mean(.,na.rm=T)))
这很棒,正是我想要的。现在如果我想把它融化成一个数据透视表(我们在工作中使用很多数据透视表),我可以调用# A tibble: 3 x 5
gear hp_n disp_n hp_mean disp_mean
<dbl> <int> <int> <dbl> <dbl>
1 3 15 15 176.1333 326.3000
2 4 12 12 89.5000 123.0167
3 5 5 5 195.6000 202.4800
。但是,结果会使melt
和_mean
列成为他们自己的行。所以,如果我运行以下内容:
_n
我会得到
mtcars %>% group_by(gear) %>% select(hp, disp) %>%
summarise_all(funs(n=sum(!is.na(.)), mean=mean(.,na.rm=T))) %>%
melt(id.vars="gear")
当我真正想要的是:
gear variable value
1 3 hp_n 15.0000
2 4 hp_n 12.0000
3 5 hp_n 5.0000
4 3 disp_n 15.0000
5 4 disp_n 12.0000
6 5 disp_n 5.0000
7 3 hp_mean 176.1333
8 4 hp_mean 89.5000
9 5 hp_mean 195.6000
10 3 disp_mean 326.3000
11 4 disp_mean 123.0167
12 5 disp_mean 202.4800
如何使用 gear variable metric value
1 3 hp n 15.0000
2 3 hp mean 176.1333
3 5 disp n 15.0000
4 5 disp mean 326.3000
....
执行此操作?我是否需要重新执行dplyr
命令?