ggplot2从2列绘制备用行

时间:2018-12-18 05:15:57

标签: r sequence

我有一个包含3列“ ID”,“ on.tank”,“ on.mains”的数据框。数据如下:

ID:依次打开1,2,3,4,5,6,7,8,9,10.tank:打开25,0,10,0,43,0,5mains:0, 12,0,11,0,2,0 因此第2列和第3列在零和一个值之间交替,而当一个为零时,另一列则交替具有一个值。

我想创建一列来交替交织每个值,然后创建第二列,这将是on.main,on.tank,on.main等因素的交替,因为它代表油箱上的天数,然后是电源上的天数,然后在油箱上等几天,等等。

我尝试使用melt,但是它不会给我交替使用,它会堆叠数据,所以我先进行.tank,on.tank,on.tank等2000行,然后再进行on.mains,on.mains等

UISwitch

1 个答案:

答案 0 :(得分:1)

这是您的数据:

df <- data.frame(ID=1:7,
             on.tank=c( 25,0,10,0,43,0,5),
             on.mains=c(0,12,0,11,0,2,0))

使用基数R:

df$On.which <- ifelse(df$on.tank > df$on.mains, "on.tank", "on.mains")

这将起作用,除非您的任何值均为负。如果您使用负值,请使用:

df$On.which <- ifelse(df$on.mains==0, "on.tank", "on.mains")

这是您需要的吗?如果删除引号,也可以使用此方法获取合并到1中的列的值。