如何在R中将两行合并为一行?
我正在R中寻找一种将成对的行合并为一行的解决方案 任务 开始时间 结束时间 程序设计 13:35 13:50 程序设计 14:00 15:40 生产 15:45 16:00 质量检验 16:15 16:30 质量检验 16:45 17:00如何在R中将两行合并为一行?,r,merge,R,Merge,我正在R中寻找一种将成对的行合并为一行的解决方案 任务 开始时间 结束时间 程序设计 13:35 13:50 程序设计 14:00 15:40 生产 15:45 16:00 质量检验 16:15 16:30 质量检验 16:45 17:00 对于每个任务,您可以提取第一个开始时间和最后一个结束时间 library(dplyr) df %>% group_by(Task) %>% summarise(Starttime = first(Starttime),
对于每个
任务
,您可以提取第一个开始时间
和最后一个结束时间
library(dplyr)
df %>%
group_by(Task) %>%
summarise(Starttime = first(Starttime),
Endtime = last(Endtime))
# Task Starttime Endtime
# <chr> <chr> <chr>
#1 Production 15:45 16:00
#2 Programming 13:35 15:40
#3 QualityInspection 16:15 17:00
库(dplyr)
df%>%
分组依据(任务)%>%
总结(开始时间=第一个(开始时间),
结束时间=最后一次(结束时间))
#任务开始时间结束时间
#
#1制作15:45 16:00
#2编程13:35 15:40
#3质量检查16:15 17:00
数据
df <- structure(list(Task = c("Programming", "Programming", "Production",
"QualityInspection", "QualityInspection"), Starttime = c("13:35",
"14:00", "15:45", "16:15", "16:45"), Endtime = c("13:50", "15:40",
"16:00", "16:30", "17:00")), class = "data.frame", row.names = c(NA, -5L))
df对于每个任务
您可以提取第一个开始时间
和最后一个结束时间
library(dplyr)
df %>%
group_by(Task) %>%
summarise(Starttime = first(Starttime),
Endtime = last(Endtime))
# Task Starttime Endtime
# <chr> <chr> <chr>
#1 Production 15:45 16:00
#2 Programming 13:35 15:40
#3 QualityInspection 16:15 17:00
库(dplyr)
df%>%
分组依据(任务)%>%
总结(开始时间=第一个(开始时间),
结束时间=最后一次(结束时间))
#任务开始时间结束时间
#
#1制作15:45 16:00
#2编程13:35 15:40
#3质量检查16:15 17:00
数据
df <- structure(list(Task = c("Programming", "Programming", "Production",
"QualityInspection", "QualityInspection"), Starttime = c("13:35",
"14:00", "15:45", "16:15", "16:45"), Endtime = c("13:50", "15:40",
"16:00", "16:30", "17:00")), class = "data.frame", row.names = c(NA, -5L))
df使用数据表
library(data.table)
setDT(df)[, .(Starttime = first(Starttime), Endtime = last(Endtime)), Task]
使用数据表
library(data.table)
setDT(df)[, .(Starttime = first(Starttime), Endtime = last(Endtime)), Task]
或者Starttime=min(Starttime)和Endtime=max(Endtime)?@Billy34这行不通,因为除非提问者没有告诉我们,时间是字符向量。这些不会按时间顺序排列。好的观点:-)我忽略了这一点,或者可能是Starttime=min(Starttime)和Endtime=max(Endtime)?@Billy34这不起作用,因为除非提问者没有告诉我们,时间是字符向量。这些不会按时间顺序排列。好的一点:-)我忽略了这一点