我有一个需要查看的家庭作业/作业问题,如果您能提供一些帮助,我们将不胜感激。
我有一个如下所示的文件:我只选择了前 20 行,因为有超过 250 行。
以下行告诉我们“NZ1”越过了起始线(在第 14 行 - 如下所示)
11:10:01 NZ1 越过起跑线
以下是终点线(第 109 行 - 下方未显示)
11:35:16 NZ1越过终点线
我需要做的是创建一个名为getTimes()的函数,它采用船的名称(例如 NZ1,US1 是船)并返回该船的开始和结束时间。
txtFile <- readLines("130901_chatter.txt")
txt文件[1:20]
[1]“Chatter Log,2013 年 9 月 1 日星期日”
[2]“Red Bull Youth AC,第 1 和 2 场比赛”
[3]“”
[4]“10:35:59 MDS redbull 游艇数据公开”
[5] "10:44:47 TIM Red Bull Youth America's Cup Race Day 1, Sun 1 Sep 2013"
[6] "10:45:03 WND Wind 255 at 14.2 kts, 14.2 kts peak"
[7] "10:45:41 TIM 第 1 场比赛于太平洋夏令时间 11:10 开始,10 场游艇比赛,7 条腿”
[8]“10:46:58 GER Yankee Flag”
[9]“10:47:12 UMP GER No Penalty”
[10]“10: 55:03 WND Wind 255 在 14.5 kts,16.7 kts 峰值”
[11] “11:05:03 WND Wind 245 在 13.8 kts,14.9 kts 峰值”
[12] “11:07:00 Race 1 (GER,SUI, NZ2,US1,US2,POR,FRA,AUS,NZ1,SWE):警告,3:00 直到开始” [13] “11:10:00 第 1 场比赛(GER、SUI、NZ2、US1、US2、POR、FRA、AUS、NZ1、SWE):开始”
[14]“11:10:01 NZ1 越过起始线”
[15]“11:10:01 US1 越过起始线”
[16]“11:10:01 US2 越过起始线”
[17]“11:10: 02 FRA 越过起始线”
[18]“11:10:02 GER 越过起始线”
[19]“11:10:02 SUI 越过起始线”
[20]“11:10:02 NZ2 越过起始线”
你能检查我下面的代码吗?
startResults <- function(filenames){
filess <- readLines(filenames)
startLines <- grep("NZ1 Cross", filess)
startText <- filess[startLines]
leelee <- startText[1:2]
ohSeung<-substr(leelee, 1,9)
}
crossStart<-startResults("130901_chatter.txt")
getTimes<-function(raceIDs){
raceIDs = crossStart
return(raceIDs)
}
getTimes("NZ1")
如果我运行上面的代码,我会得到 NZ1 的结果。但是,我也需要获得其他船只的结果,但不太确定如何获得它。
哦,这就是我的raceID 的样子:
raceIDs
[1]“GER”“SUI”“NZ2”“US1”“US2”“POR”“FRA”“AUS”“NZ1”“SWE”
如果功能正确(船的开始时间和结束时间),我应该得到这样的东西:
> getTimes("NZ1")
[1] "11:10:01" "11:35:16"
> getTimes("US1")
[1] "11:10:01" "11:33:29"
> getTimes("NZ2")
[1] "11:10:02" "11:34:12"
我相信我的函数只计算“NZ1”而不是任何其他船。
任何帮助将不胜感激!