我有一个冗长的数据集,其中一列包含游轮在海湾的两个(或同时一个)位置(A 或 B)之一中存在/不存在。目前,我连续几个月将游轮数据与每半小时的一系列时间戳相匹配。我想将 A 和/或 B 进行不同次数的推进,以表示在这个新的时间尺度上的存在/不存在。每艘游轮出现的次数不同(以小时为单位)。
我从这样的事情开始:
[,1] [,2] [,3]
[1,] "Ship1" "A" "4"
[2,] "Ship2" "B" "5"
[3,] NA NA NA
[4,] NA NA NA
[5,] NA NA NA
[6,] "Ship3" "A" "2"
[7,] NA NA NA
我想要这个:
[,1] [,2] [,3]
[1,] "Ship1" "A" "4"
[2,] "Ship2" "A,B" "5"
[3,] NA "A,B" NA
[4,] NA "A,B" NA
[5,] NA "B" NA
[6,] "Ship3" "A,B" "2"
[7,] NA "A" NA
我尝试了一些无济于事的事情(有些崩溃):
data$fillAnchorA = na.locf(data$AnchorageA, na.rm = F, mingap = lag(data$hoursPresent))
data$fillAnchorB = rep(na.locf(data$AnchorageB, na.rm = F), length(data$hoursPresent))
data$fillAnchorB = rep(data$AnchorageB, length(mastercruisedata$hoursPresent))
(AnchorageA 拥有所有到达锚地 A 的游轮(用 A 表示),而 AnchorageB 拥有相同的船只前往锚地 B)。“fillAnchorA”和“fillAnchorB”是我想要(col2)所需的输出。我认为将 A 和 B 分开会更容易,但也许不是?我在这里有点茫然。