如何解决R中的tidyversedplyr中的行选择性求和
我有一个简短的tidyverse
问题。在gg
中:
如何为行(salary
-1
减去3
的值,然后减去(2
-4
)的值,然后减去它们彼此。总体而言,即:行(1
-3
)-(2
-4
)
library(tidyverse)
data <- read.csv('https://raw.githubusercontent.com/rnorouzian/e/master/salary.csv')
gg <- data %>% dplyr::select(female,over10,salary) %>% group_by(over10,female) %>%
summarise(across(.fns = mean),n = n())
解决方法
您在您的文章中没有提到这一点,但是我认为为什么要减去c(1,3)和(2,4)行是因为import Vue from "vue";
import Router from "vue-router";
import RoutePrefetch from "vue-router-prefetch";
Vue.use(Router);
Vue.use(RoutePrefetch,{
componentName: "QuickLink"
});
const SiteNav = {
template: `<div>
<ul>
<li>
<router-link to="/page/1">page 1</router-link>
</li>
<li>
<quick-link to="/page/2">page 2</quick-link>
</li>
<li>
<router-link to="/page/3">page 3</router-link>
</li>
</ul>
</div>`
};
const createPage = (id) => async() => {
console.log(`fetching page ${id}`);
return {
template: `<div>
<h1>page {id}</h1>
<SiteNav />
</div>`,components: {
SiteNav
}
};
};
const routers = new Router({
mode: "history",routes: [{
path: "/",component: {
template: `<div>
<h1>hi</h1>
<SiteNav />
</div>`,components: {
SiteNav
}
}
}]
});
for (let i = 1; i <= 3; i++) {
routers.addRoutes([{
path: `/page/${i + 1}`,component: createPage(i + 1)
}]);
}
export default routers;
列中的(0,1)值。如果是这样,您可以在female
group_by
列中使用female
计算差异。
diff
如果您确实想根据行号执行此操作,则可以执行以下操作:
library(dplyr)
gg %>%
group_by(female) %>%
summarise(salary = diff(salary)) %>%
summarise(salary = -diff(salary))
# salary
# <dbl>
#1 13891.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。