在此扩展别人的问题:Remove zeros in the start and end of a vector, 如何在数据表中执行相同的操作?
示例数据:
x Date.Time
0 2014-09-25 10:10:00
0 2014-09-25 10:15:00
0 2014-09-25 10:20:00
0 2014-09-25 10:25:00
4 2014-09-25 10:30:00
5 2014-09-25 10:35:00
0 2014-09-25 10:40:00
0 2014-09-25 10:45:00
3 2014-09-25 10:50:00
2 2014-09-25 10:55:00
7 2014-09-25 11:00:00
0 2014-09-25 11:05:00
0 2014-09-25 11:10:00
0 2014-09-25 11:15:00
我想将其转化为:
x Date.Time
4 2014-09-25 10:30:00
5 2014-09-25 10:35:00
0 2014-09-25 10:40:00
0 2014-09-25 10:45:00
3 2014-09-25 10:50:00
2 2014-09-25 10:55:00
7 2014-09-25 11:00:00
保留中间x列中的零行,但删除包含零的前导和尾随行。
我试图使用这个命令,改编自原始问题:
example[min(which(example$x !=0)):max(which(example$x !=0))]
但我收到错误“未选择的列已选中”。我可以提取列并执行命令,但我想保留Date.Time关系。
这是我的第一个问题,为格式/礼节错误道歉。
答案 0 :(得分:2)
你只是错过了一个逗号:
example[min(which(example$x !=0)):max(which(example$x !=0)),]
您需要逗号,因为您需要告诉R使用哪些列。
例如:
example[1:5, 2:3]
获取第1行至第5行以及第2列至第3列。
如果您在逗号后面省略了数字,则选择所有列。