首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何添加基于当前data.frame的计算字段

如何添加基于当前data.frame的计算字段
EN

Stack Overflow用户
提问于 2015-01-08 04:50:51
回答 1查看 5.1K关注 0票数 2

我将数据框架按列“月份”分组,然后总结“用户”列。

使用此代码:

代码语言:javascript
复制
Count_Users_By_Month <- Users_By_Month %>% group_by(month) %>% 
  summarise(Users = length(unique(users)))

我明白了,我百分之百肯定这是正确的:

代码语言:javascript
复制
     month       Users
1 Diciembre      4916
2 Noviembre      3527

问题1:如何在“Noviembre”的基础上添加显示"Diciembre“变化的列?(百分比).

需要为逐月变化的创建一个colum

公式(伪码)是这样的:

代码语言:javascript
复制
(DiciembreUsers-NoviembreUsers)/NoviembreUsers

**当然,Noviembre的价值是明确的,因为没有前一个月(10月)的数据。

我尝试了这段代码,但得到了一个错误:

代码语言:javascript
复制
Count_Users_By_Month <- Users_By_Month %>% group_by(month) %>% 
  summarise(Users = length(unique(users))) %>%
  mutate(Variacion = (Count_Users_By_Month[1,2]-Count_Users_By_Month[2,2])/Count_Users_By_Month[2,2])

错误:与STRSXP不兼容

**最后编辑:

问题解决了,谢谢。见评论:

把“滞后”改为“铅”.啊,真灵。只是在除数部分中添加了“铅”,以得到正确的公式。

代码语言:javascript
复制
mutate(variation=(Users-lead(Users))/lead(Users))
EN

回答 1

Stack Overflow用户

发布于 2015-01-08 06:01:12

这是原始数据框架:

代码语言:javascript
复制
    month       Users
1 Diciembre      4916
2 Noviembre      3527

这就是答案:

代码语言:javascript
复制
Count_Users_By_Month <- Users_By_Month %>% group_by(month) %>% 
                        summarise(Users = length(unique(users))) %>%
                        mutate(variation=(Users-lead(Users))/lead(Users))

需要研究“铅”是如何工作的。所有的功劳都是@Khashaa,请看他的评论。刚刚修改了公式,在除法部分中添加了“铅”,以得到正确的答案

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27833167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档