我希望通过第一行中的条目对数据框进行子集化。例如:
col1 <- c("blue", 2, "small")
col2 <- c("red", 4, "large")
col3 <- c("green", 3, "medium")
df <- data.frame(col1, col2, col3)
...我想根据第一个条目“红色”将df子集到col2。如果有两列符合该标准,例如:
col1 <- c("blue", 2, "small")
col2 <- c("red", 4, "large")
col3 <- c("green", 3, "medium")
col4 <- c("red", 5, "small")
df <- data.frame(col1, col2, col3, col4)
... cols 2&amp;应退回4。
我看了this answer我的问题 - 答案是5年之久,所以我希望在select
中使用dplyr
可以有更优雅的方式。
感谢。
答案 0 :(得分:1)
可以在没有dplyr的情况下选择它们。
df <- data.frame(col1, col2, col3, col4)
df[,df[1,] == "red", drop = F]
# col2 col4
# 1 red red
# 2 4 5
# 3 large small