楼主: 卑鄙的我lzw
1460 5

[问答] 自定义函数无法正常运行~嘤嘤嘤QAQ [推广有奖]

  • 0关注
  • 4粉丝

硕士生

24%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
1.0000
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
1326 点
帖子
78
精华
0
在线时间
150 小时
注册时间
2017-7-18
最后登录
2021-5-10

楼主
卑鄙的我lzw 发表于 2019-6-8 15:34:15 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我写了一个计算每日入院人数的code,(非常烂,可以么有办法),但是这个代码如果在入院人数为0的时候就会出错,怎么改进才能正常运行啊,好难过(ಥ﹏ಥ)啊~~~

```
  1. tsdata2 <- function(df){
  2.   
  3.   t.f <- as.data.frame(table(df$DATE_INHOSPITAL2)) %>% rename(whole =Freq)
  4.   ## sex
  5.   man.d <- df %>% filter(GENDER == 1)
  6.   man.f <- as.data.frame(table(man.d$DATE_INHOSPITAL2)) %>% rename(man =Freq)
  7.   
  8.   woman.d <- df %>% filter(GENDER == 2)
  9.   woman.f <- as.data.frame(table(woman.d$DATE_INHOSPITAL2)) %>% rename(woman =Freq)
  10.   
  11.   ## age 65
  12.   agelo65.d <- df %>% filter(age_group65 == 1)
  13.   agelo65.f <- as.data.frame(table(agelo65.d$DATE_INHOSPITAL2)) %>% rename(agelo65 =Freq)
  14.   
  15.   ageup65.d <- df %>% filter(age_group65 == 2)
  16.   ageup65.f <- as.data.frame(table(ageup65.d$DATE_INHOSPITAL2)) %>% rename(ageupwith65 =Freq)
  17.   
  18.   ## age 10
  19.   age10.1.d <- df %>% filter(age_group10 == 1)
  20.   age10.1.d.f <- as.data.frame(table(age10.1.d$DATE_INHOSPITAL2)) %>% rename(agelo40 =Freq)
  21.   
  22.   age10.2.d <- df %>% filter(age_group10 == 2)
  23.   age10.2.d.f <- as.data.frame(table(age10.2.d$DATE_INHOSPITAL2)) %>% rename(age41_50 =Freq)
  24.   
  25.   age10.3.d <- df %>% filter(age_group10 == 3)
  26.   age10.3.d.f <- as.data.frame(table(age10.3.d$DATE_INHOSPITAL2)) %>% rename(age51_60 =Freq)
  27.   
  28.   age10.4.d <- df %>% filter(age_group10 == 4)
  29.   age10.4.d.f <- as.data.frame(table(age10.4.d$DATE_INHOSPITAL2)) %>% rename(age61_70 =Freq)
  30.   
  31.   age10.5.d <- df %>% filter(age_group10 == 5)
  32.   age10.5.d.f <- as.data.frame(table(age10.5.d$DATE_INHOSPITAL2)) %>% rename(age71_80 =Freq)
  33.   
  34.   age10.6.d <- df %>% filter(age_group10 == 6)
  35.   age10.6.d.f <- as.data.frame(table(age10.6.d$DATE_INHOSPITAL2)) %>% rename(ageup80 =Freq)
  36.   
  37.   datebreaks<-seq(as.Date("2014-01-01"),as.Date("2018-12-31"),by="1 day")
  38.   
  39.   full <- data.frame(Var1 = as.character(datebreaks) )
  40.   
  41.   
  42.   result <- full %>%
  43.     left_join(t.f) %>%
  44.     left_join(man.f) %>%
  45.     left_join(woman.f) %>%
  46.     left_join(agelo65.f) %>%
  47.     left_join(ageup65.f) %>%
  48.     left_join(age10.1.d.f) %>%
  49.     left_join(age10.2.d.f) %>%
  50.     left_join(age10.3.d.f) %>%
  51.     left_join(age10.4.d.f) %>%
  52.     left_join(age10.5.d.f) %>%
  53.     left_join(age10.6.d.f) %>% replace(., is.na(.), 0)
  54.   
  55.   return(result)
  56. }


  57. list <- split(total,total$DISEASE_CODE1_2to3)

  58. test <- map(list,tsdata2)
复制代码



运行结果是酱紫的。。
  1. test <- map(list,tsdata2)
  2. Joining, by = "Var1"
  3. Joining, by = "Var1"
  4. Joining, by = "Var1"
  5. Joining, by = "Var1"
  6. Joining, by = "Var1"
  7. Joining, by = "Var1"
  8. Error: `by` required, because the data sources have no common variables
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:自定义函数 自定义 replace Result RETURN

沙发
Whig 在职认证  发表于 2019-6-8 16:00:16
你这不就是个分组统计么,还用得着自定义函数?
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
卑鄙的我lzw 发表于 2019-6-8 17:14:42
Whig 发表于 2019-6-8 16:00
你这不就是个分组统计么,还用得着自定义函数?
我怎么能按照年龄分组和性别分组,分别分组统计啊,最后输出一个大的dataframe

板凳
Whig 在职认证  发表于 2019-6-8 17:23:15
data.table和dplyr你会用哪个?

报纸
卑鄙的我lzw 发表于 2019-6-8 18:40:50
Whig 发表于 2019-6-8 17:23
data.table和dplyr你会用哪个?
我一般用dplyr~~~

地板
Whig 在职认证  发表于 2019-6-8 22:39:02
卑鄙的我lzw 发表于 2019-6-8 18:40
我一般用dplyr~~~
用dplyr里的分组统计方法group_by试一下吧
已有 1 人评分论坛币 学术水平 收起 理由
jiangbeilu + 10 + 1 精彩帖子

总评分: 论坛币 + 10  学术水平 + 1   查看全部评分

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-7 03:59