R,根据另一列的非数字值创建新列

时间:2014-01-20 19:02:24

标签: r if-statement dataset

我还是比较新的R,所以请原谅,如果我所说的话缺乏恰当和明确的术语。

我有一个从UDP流创建的数据集,用于从一个源收集数据,从另一个源收集时间。时间是异步添加的,这意味着一列包含信息(开始,停止),但其余的这些行都是空白的。下面的链接可能有助于解释数据集中的确切含义。

https://googledrive.com/host/0Bw82Tt1bj-QRUkxwdGY2Qm5UOVk

我想阅读“MarkersOri”栏目中的“开始”所在的位置,并在新列“MarkerNew”中打印“开始”正好向下一行。 (随后,我计划删除这些大多数空白行和“MarkersOri”列)

我试图实现if语句和findInterval命令,但是我找不到任何关于我想要做的事情。

编辑:解决了。感谢帮助。

1 个答案:

答案 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