楼主: 唐伯小猫
1530 9

[问答] 请哪位好心的大虾帮我注解一下下面的几句话,谢谢 [推广有奖]

  • 1关注
  • 16粉丝

VIP

学科带头人

12%

还不是VIP/贵宾

-

威望
0
论坛币
5371 个
通用积分
3.3476
学术水平
22 点
热心指数
28 点
信用等级
20 点
经验
36757 点
帖子
1428
精华
0
在线时间
1541 小时
注册时间
2005-10-3
最后登录
2022-8-28

20论坛币

length(unique(data$SNumber))

frequency = data %>%

  group_by(SNumber) %>%

  mutate(N = n()) %>%

  group_by(N) %>%

  summarize(Frequency = length(unique(SNumber)),

           Amount = sum(Value))


请哪位好心的大虾帮我注解一下上面的话啊,最好每一行解释一下,多谢啦!!


尤其是看不太明白%>%,虾米意思呢? 还有group_by(N) %>%之类的,最好每一行能注解一下,万分感谢!


最佳答案

-Batistuta- 查看完整内容

unique()是删掉重复的元素,length()是求向量长度,%>%是操作连接符号,表示接着做下一个操作,而且以上一个操作的结果作为下一操作的数据,mutate()是用来在数据中增加一个新的变量(或者说增加一列),这里新变量是N,n()表示求个数,group_by()是用来分组的,这里就是按N来分组,summarise用来计算新变量,有点像mutate,但mutate是直接增加,而summarise则是只给出括号里面的结果,这里最后算出的结果就是一个data.frame(Frequ ...
关键词:Frequency summarize Number unique length 程序 frequency summarize 最好
心若向阳,无畏悲伤。
沙发
-Batistuta- 发表于 2015-7-6 06:54:30 |只看作者 |坛友微信交流群
unique()是删掉重复的元素,length()是求向量长度,%>%是操作连接符号,表示接着做下一个操作,而且以上一个操作的结果作为下一操作的数据,mutate()是用来在数据中增加一个新的变量(或者说增加一列),这里新变量是N,n()表示求个数,group_by()是用来分组的,这里就是按N来分组,summarise用来计算新变量,有点像mutate,但mutate是直接增加,而summarise则是只给出括号里面的结果,这里最后算出的结果就是一个data.frame(Frequency,Amount),至于那个sum你应该知道,就是求和
想要完全了解这几个函数,看看dplyr的帮助文档就明白了,因为这几个主要函数就是里面来的
已有 1 人评分经验 论坛币 收起 理由
李会超 + 40 + 5 热心帮助其他会员

总评分: 经验 + 40  论坛币 + 5   查看全部评分

使用道具

藤椅
一路嘿嘿 发表于 2015-7-6 20:34:05 |只看作者 |坛友微信交流群
`%>%`是管道操作符,具体可看magrittr包,比如
  1. data %>%
  2.   group_by(SNumber)
复制代码
就相当于:
  1. group_by(data, SNumber)
复制代码
已有 1 人评分经验 论坛币 收起 理由
李会超 + 40 + 5 热心帮助其他会员

总评分: 经验 + 40  论坛币 + 5   查看全部评分

使用道具

板凳
-Batistuta- 发表于 2015-7-6 20:36:25 |只看作者 |坛友微信交流群
希望我已经解释得够清楚能让你明白,同时希望楼主能把悬赏的论坛币给我,谢谢

使用道具

报纸
唐伯小猫 发表于 2015-7-7 06:39:13 |只看作者 |坛友微信交流群
谢谢 楼上 好心的大侠 !!

使用道具

地板
唐伯小猫 发表于 2015-7-7 06:41:05 |只看作者 |坛友微信交流群
-Batistuta- 发表于 2015-7-6 20:36
希望我已经解释得够清楚能让你明白,同时希望楼主能把悬赏的论坛币给我,谢谢
谢谢,讲的非常详细!!

我还有另外一点code的问题,也准备悬赏20个论坛币,能不能麻烦大侠再帮我解释一下呢 ?我大约会在我的时间这两天晚上再上来问问的。谢谢啦!!

使用道具

7
唐伯小猫 发表于 2015-7-7 06:42:10 |只看作者 |坛友微信交流群
一路嘿嘿 发表于 2015-7-6 20:34
`%>%`是管道操作符,具体可看magrittr包,比如就相当于:
谢谢好心的大侠!虽然我木有设置你的答案为最佳,不过还是很感谢!如果你需要论坛币的话,设置10个,我给你10个也行,好吗?多谢啦!!

使用道具

8
唐伯小猫 发表于 2015-7-7 06:49:06 |只看作者 |坛友微信交流群
一路嘿嘿 发表于 2015-7-6 20:34
`%>%`是管道操作符,具体可看magrittr包,比如就相当于:
不好意思,反应慢了一下,不明白为虾米要用这个管道操作符啊 ?
这样写不好么?group_by(data, SNumber)
谢谢


使用道具

9
一路嘿嘿 发表于 2015-7-7 08:23:20 |只看作者 |坛友微信交流群
唐伯小猫 发表于 2015-7-7 06:49
不好意思,反应慢了一下,不明白为虾米要用这个管道操作符啊 ?
这样写不好么?group_by(data, SNumber) ...
可以省略掉不必要的中间变量,代码更连贯、可读性更强

使用道具

10
-Batistuta- 发表于 2015-7-7 09:22:20 |只看作者 |坛友微信交流群
唐伯小猫 发表于 2015-7-7 06:41
谢谢,讲的非常详细!!

我还有另外一点code的问题,也准备悬赏20个论坛币,能不能麻烦大侠再帮我解释一 ...
到时看看,但不一定懂,R太博大精深了,我自己也还有很多要学,希望大家共同进步

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-9-20 13:21