楼主: 天涯印象
1535 5

[实际应用] 对字符串进行从右至左选择 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

4%

还不是VIP/贵宾

-

威望
0
论坛币
48 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
3305 点
帖子
58
精华
0
在线时间
142 小时
注册时间
2016-4-17
最后登录
2024-3-14

5论坛币
e.xlsx (11.45 KB)
QQ截图20170630094542.jpg
有一个Excel表,读取成数据框后,把空值填充为0,我现在想根据NO列最后一位数字进行分组,然后对NUM进行求和,求大神解答啊

最佳答案

cheetahfly 查看完整内容

假设数据变量名为dat:
关键词:字符串 Excel表 EXCEL exce xcel
沙发
cheetahfly 在职认证  发表于 2017-6-30 09:48:37 |只看作者 |坛友微信交流群
假设数据变量名为dat:
  1. library(tidyverse)
  2. library(stringr)
  3. dat %>%
  4.   mutate(group = str_sub(NO, -1, -1)) %>%
  5.   group_by(group) %>%
  6.   summarise_at(vars(NUM, knum), sum)
复制代码

使用道具

藤椅
天涯印象 学生认证  发表于 2017-6-30 11:23:52 |只看作者 |坛友微信交流群
  1. library(readxl)
  2. testdata <- read_excel(path = "e.xlsx", sheet = 1, col_names = T)
  3. NO1 <- testdata$NO
  4. testdata[is.na(testdata)] <- 0   #缺失值替换为0

  5. library(tidyverse)
  6. library(stringr)
  7. result <- testdata %>%
  8.   mutate(group = str_sub(NO, -1, -1)) %>%
  9.   group_by(group) %>%
  10.   summarise_at(vars(NUM, knum), sum)

  11. library(ggplot2)
  12. ggplot(result, aes(group, NUM))+
  13.   geom_bar(stat = "identity")
复制代码
感谢楼上指导,把结果贴出来供参考 Rplot.jpeg

使用道具

板凳
天涯印象 学生认证  发表于 2017-6-30 11:25:07 |只看作者 |坛友微信交流群
cheetahfly 发表于 2017-6-30 09:48
假设数据变量名为dat:
能不能再给解释一下 %>%的含义啊?非常感谢

使用道具

报纸
jameschin007 发表于 2017-6-30 11:28:20 |只看作者 |坛友微信交流群
用sqldf 包  假设你的df 叫做df1
select  substr(No, -1,1) as aaa, sum(num)  from df1  group by aaa

使用道具

地板
cheetahfly 在职认证  发表于 2017-6-30 12:09:17 |只看作者 |坛友微信交流群
天涯印象 发表于 2017-6-30 11:25
能不能再给解释一下 %>%的含义啊?非常感谢
叫做“Pipe operator”,在tidyverse等很多包中都用到该运算符,主要作用是,让代码更符合逻辑,更易读懂和维护,并减少产生中间变量。

使用道具

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

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

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

GMT+8, 2024-5-21 07:34