我有以下数据框:
Step 1 2 3
1 5 10 6
2 5 11 5
3 5 13 9
4 5 15 10
5 13 18 10
6 15 20 10
7 17 23 10
8 19 25 10
9 21 27 13
10 23 30 7
我想检索满足以下条件之一的列:if step 1 = step 4
或step 4 = step 8
。在这种情况下,应检索第1列和第3列。第1列,因为第1步的值=第4步的值(即5),而对于第3列,第4步的值=第8步的值(即10)。
我不知道如何在R中做到这一点。有人可以帮我吗?
答案 0 :(得分:2)
您可以通过以下代码获取列索引:
df[1, -1] == df[4, -1] | df[4, -1] == df[8, -1]
# X1 X2 X3
# 1 TRUE FALSE TRUE
# data
df <- structure(list(Step = 1:10, X1 = c(5L, 5L, 5L, 5L, 13L, 15L,
17L, 19L, 21L, 23L), X2 = c(10L, 11L, 13L, 15L, 18L, 20L, 23L,
25L, 27L, 30L), X3 = c(6L, 5L, 9L, 10L, 10L, 10L, 10L, 10L, 13L,
7L)), class = "data.frame", row.names = c(NA, -10L))