r - 使用 mutate_all 创建新列
问题描述
我有一些看起来像这样的数据:
Year Revenue Cost Rent
1 2016 3000 4 100
2 2017 4000 5 100
3 2018 5000 6 100
df <- data.frame(stringsAsFactors=FALSE,
Year = c(2016L, 2017L, 2018L),
Revenue = c(3000L, 4000L, 5000L),
Cost = c(4L, 5L, 6L),
Rent = c(100L, 100L, 100L)
)
我想将所有内容划分为百分比Rent
:
library(dplyr)
df <- df %>% mutate_at(vars(Revenue:Rent), funs(. /Rent))
效果很好。
Year Revenue Cost Rent
1 2016 30 0.04 1
2 2017 40 0.05 1
3 2018 50 0.06 1
唯一的事情:我失去了我原来的专栏。
我该怎么做mutate_all
,以便我有新的列,比如说叫Revenue_percentage_of_rent
, Cost_percentage_of_rent
?
解决方案
将不推荐使用 offuns
以支持list
fromdplyr_0.8.0
所以,选项将是
library(dplyr)
df %>%
mutate_at(vars(Revenue:Rent), list(percentage_of_rent = ~ ./Rent))
# Year Revenue Cost Rent Revenue_percentage_of_rent Cost_percentage_of_rent Rent_percentage_of_rent
#1 2016 3000 4 100 30 0.04 1
#2 2017 4000 5 100 40 0.05 1
#3 2018 5000 6 100 50 0.06 1
推荐阅读
- laravel - 使用 laravel new blog 时,'RM' 不被识别为内部或外部命令
- javascript - 仅在按下 shiftKey 时允许鼠标滚轮事件
- asp.net-core-3.1 - ASP.NET Core 3.1 读取请求正文空字符串
- kdb - 关于xkey实现
- c++ - 有什么方法可以减少 Radius 异常值移除 [pcl 异常值移除] 的执行时间?
- python - 如何缩短所有这些复选框的代码
- docusignapi - 区分同一开发者帐户中用于测试和实时环境的 webhook
- react-native - 如何在本机反应中删除材料底部选项卡的背景颜色
- typescript - 如果通过括号表示法访问函数的属性,如何让 TypeScript 出错?
- sql - 如何在包含星号的文本单元格上运行 Google 表格查询