我还是比较新的R,所以请原谅,如果我所说的话缺乏恰当和明确的术语。
我有一个从UDP流创建的数据集,用于从一个源收集数据,从另一个源收集时间。时间是异步添加的,这意味着一列包含信息(开始,停止),但其余的这些行都是空白的。下面的链接可能有助于解释数据集中的确切含义。
https://googledrive.com/host/0Bw82Tt1bj-QRUkxwdGY2Qm5UOVk
我想阅读“MarkersOri”栏目中的“开始”所在的位置,并在新列“MarkerNew”中打印“开始”正好向下一行。 (随后,我计划删除这些大多数空白行和“MarkersOri”列)
我试图实现if语句和findInterval命令,但是我找不到任何关于我想要做的事情。
编辑:解决了。感谢帮助。答案 0 :(得分:0)
你想要一个新的列,里面只有'开始',但是shifteb减少一行?
也许这可能会有所帮助:
# some data
df <- data.frame(col1 = LETTERS[1:10], stringsAsFactors=FALSE)
df$col1[5] <- 'Start'
# create empty column
df$newcol <- NA
# shift 'Start' by one row down, store it in the new column
df$newcol[which(df$col1 == 'Start') + 1] <- 'Start'
df