【发布时间】:2019-11-13 07:07:05
【问题描述】:
我有一个关于删除特定行的小问题。 在此示例中,我想从“power”列中的单词“5055”中删除行,直到“fr”列中的单词“Exer”。 重要的是,我想在两个 id 中应用这个函数(这里是 LM01-PRD-S1 和 LB02-PRD-S1)。
time power hr fr id
1 <NA> 5055 Zoti E LM01-PRD-S1
2 747 mmHg <NA> 09/0 2016 LM01-PRD-S1
3 9.7222222222222224E-3 0 76 20 LM01-PRD-S1
4 2.013888888888889E-2 0 77 16 LM01-PRD-S1
5 2.9861111111111113E-2 0 77 17 LM01-PRD-S1
6 <NA> <NA> <NA> Exer LM01-PRD-S1
7 1.0416666666666666E-2 25 90 24 LM01-PRD-S1
8 1.9444444444444445E-2 25 92 23 LM01-PRD-S1
9 3.0555555555555555E-2 25 93 22 LM01-PRD-S1
10 <NA> 5055 Zoti E LB02-PRD-S1
11 750 mmHg <NA> 11/0 2016 LB02-PRD-S1
12 8.3333333333333332E-3 0 81 14 LB02-PRD-S1
13 1.6666666666666666E-2 0 96 15 LB02-PRD-S1
14 2.8472222222222222E-2 0 71 14 LB02-PRD-S1
15 <NA> <NA> <NA> Exer LB02-PRD-S1
16 1.0416666666666666E-2 35 102 16 LB02-PRD-S1
17 1.9444444444444445E-2 35 101 17 LB02-PRD-S1
18 3.0555555555555555E-2 35 105 15 LB02-PRD-S1
我试过这个功能,但我删除了第 1 到 15 行,而我只想删除第 1 到 6 行和第 10 到 15 行。
df[-c(min(grep("5055",df[,power])):max(grep("Exer",df[,fr]))),]
这是我想要得到的最终结果。
time power hr fr id
1 1.0416666666666666E-2 25 90 24 LM01-PRD-S1
2 1.9444444444444445E-2 25 92 23 LM01-PRD-S1
3 3.0555555555555555E-2 25 93 22 LM01-PRD-S1
4 1.0416666666666666E-2 35 102 16 LB02-PRD-S1
5 1.9444444444444445E-2 35 101 17 LB02-PRD-S1
6 3.0555555555555555E-2 35 105 15 LB02-PRD-S1
我希望我解释得很好。 感谢您的帮助!
【问题讨论】:
-
这两个词是否唯一,即每个词只出现一次?您可以在问题中添加示例数据吗?
-
我刚刚编辑了问题并添加了一个示例。
-
请阅读有关how to ask a good question 的信息以及如何提供reproducible example。这将使其他人更容易帮助您。
-
我根据可复制的示例更新了我的问题。我希望它现在更好,更容易理解。谢谢。
标签: r