对R

如何解决对R

我正在使用以下数据框。

df2<-final.data%>% gather(Hospital,Attendance,contains("Attendance"))
df2 %>% spread(Hospital,Attendance)
    > dput(final.data[0:2,])
    structure(list(RoyalPerth.Attendance = c(235,209),RoyalPerth.Admissions = c(99,97),RoyalPerth.Tri1 = c("8","N/A"),RoyalPerth.Tri2 = c(33,41),RoyalPerth.Tri3 = c(89,73),RoyalPerth.Tri4 = c(85,80),RoyalPert

h.Tri5 = c("20","14"),Fremantle.Attendance = c(155,145),Fremantle.Admissions = c(70,56),Fremantle.Tri1 = c("N/A",Fremantle.Tri2 = c(25,22),Fremantle.Tri3 = c(67,51),Fremantle.Tri4 = c(54,47),Fremantle.Tri5 = c(9,24
    ),PrincessMargaret.Attendance = c(252,219),PrincessMargaret.Admissions = c(59,PrincessMargaret.Tri1 = c("N/A",PrincessMargaret.Tri2 = c("13",PrincessMargaret.Tri3 = c(75,61),PrincessMargaret.Tri4 = c(159,139),PrincessMargaret.Tri5 = c("4","4"),KingEdward.Attendance = c(52,43),KingEdward.Admissions = c("6","7"),KingEdward.Tri1 = c("N/A",KingEdward.Tri2 = c("N/A",KingEdward.Tri3 = c("7",KingEdward.Tri4 = c(20,25),KingEdward.Tri5 = c("25","17"),SirCharles.Attendance = c(209,184),SirCharles.Admissions = c(109,112),SirCharles.Tri1 = c("N/A",SirCharles.Tri2 = c(42,SirCharles.Tri3 = c(108,SirCharles.Tri4 = c(47,SirCharles.Tri5 = c("11","5"),Armadale.Attendance = c(166,175),Armadale.Admissions = c(19,Armadale.Tri1 = c("N/A",Armadale.Tri2 = c(16,26),Armadale.Tri3 = c(62,Armadale.Tri4 = c(79,55),Armadale.Tri5 = c("9","19"
    ),Swan.Attendance = c(133,129),Swan.Admissions = c(17,Swan.Tri1 = c("N/A",Swan.Tri2 = c(29,Swan.Tri3 = c(59,57),Swan.Tri4 = c(42,Swan.Tri5 = c("N/A",Rockingham.Attendance = c(155,Rockingham.Admissions = c("10","24"),Rockingham.Tri1 = c("N/A",Rockingham.Tri2 = c(12,Rockingham.Tri3 = c(51,45),Rockingham.Tri4 = c(81,65),Rockingham.Tri5 = c("11","8"),Joondalup.Attendance = c(267,241),Joondalup.Admissions = c(73,81),Joondalup.Tri1 = c("N/A",Joondalup.Tri2 = c(27,23),Joondalup.Tri3 = c(75,78),Joondalup.Tri4 = c(151,133),Joondalup.Tri5 = c("12","7")),row.names = 1:2,class = "data.frame")

错误:

警告信息: 度量变量之间的属性并不相同; 他们将被丢弃

我尝试了以下方法: hospital.dataset

我想使用gather将其隐藏为长数据集。

 dput(hospital.dataset[1:2,])
structure(list(Date = structure(c(-714598,-714597),class = "Date"),[enter image description here][1]
    Attendance = c(235,Admissions = c(99,Hospital = structure(c(1L,1L),.Label = c("RoyalPerth Hospital","Fremantle Hospital","Princess Margaret Hospital","KingEdward Hospital","SirCharles Hospital","Armadale Hospital","Swan Hospital","Rockingham Hospital","Joondalup Hospital"),class = "factor"),triage = c("Tri1","Tri1"),sum = c(8,0)),class = "data.frame")

喜欢这个。

谢谢。

Expected Dataframe

解决方法

注意:这种解决方案感觉很费力。因此,请考虑可能会有更优雅的方法。

此数据的一个问题是,您想要“宽”(AttendanceAdmissions)的值与您想要“长”(Tri1,{{ 1}}等。

此解决方案在整个数据帧上使用Tri2(注意:pivot_longer是新的pivot_longer语法),然后使用gather从列表中提取医院名称。特定数据字段。

然后将其拆分为两个数据帧,将separate应用于pivot_wider / Attendance列,然后重新加入。

Admissions

输出

library(tidyverse)

final_data_long <- final.data.raw %>% 
  mutate_all(as.character) %>%
  mutate(row_n = row_number()) %>%
  pivot_longer(-row_n,names_to = "field",values_to = "value") %>%
  separate(field,into = c("hospital","category")) 

attend_admit <- final_data_long %>%
  filter(str_detect(category,"Attendance|Admissions"))

triage <- final_data_long %>% anti_join(attend_admit)

attend_admit_long <- 
  attend_admit %>%
  group_by(row_n) %>%
  pivot_wider(id_cols = c(row_n,hospital),names_from = category,values_from = value)

triage %>% 
  inner_join(attend_admit_long,by = c("row_n","hospital")) %>%
  arrange(hospital) %>%
  select(-row_n)

数据
*我无法运行OP的# A tibble: 90 x 5 hospital category value Attendance Admissions <chr> <chr> <chr> <chr> <chr> 1 Armadale Tri1 N/A 166 19 2 Armadale Tri2 16 166 19 3 Armadale Tri3 62 166 19 4 Armadale Tri4 79 166 19 5 Armadale Tri5 9 166 19 6 Armadale Tri1 N/A 175 25 7 Armadale Tri2 26 175 25 8 Armadale Tri3 73 175 25 9 Armadale Tri4 55 175 25 10 Armadale Tri5 19 175 25 # … with 80 more rows ,以下是可以复制/粘贴的版本:

dput

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-