如何理解“选择”和“包含”的组合?

时间:2019-06-12 10:45:36

标签: r

我必须将一些R代码转换为python。 我陷入下面的行中,我不明白那里发生了什么:

new_data <- data %>% select(-contains('exit'),exit)

-字符串包含什么? 至于选择-我知道第二个出口与一个名为exit的特定列有关,但是-contains是什么意思?退出列将不包含“退出”字符串?

谢谢

1 个答案:

答案 0 :(得分:0)

这意味着如果其中包含字符串'exit',请删除该列。考虑这个例子,

df <- data.frame(a = 11:15, exit = 1:5, exit1 = letters[1:5], exit2 = LETTERS[1:5])
df
#   a exit exit1 exit2
#1 11    1     a     A
#2 12    2     b     B
#3 13    3     c     C
#4 14    4     d     D
#5 15    5     e     E

如果愿意

df %>% select(contains('exit')) 

#  exit exit1 exit2
#1    1     a     A
#2    2     b     B
#3    3     c     C
#4    4     d     D
#5    5     e     E

在这里,当我们向其添加减号(exit)时,它会选择其中带有-的列,它会删除这些列

df %>% select(-contains('exit'))

#   a
#1 11
#2 12
#3 13
#4 14
#5 15

您的情况是说,删除其中所有包含exit的列,但保留名称为exit的列,其余的保留原样

df %>% select(-contains('exit'),exit)

#   a exit
#1 11    1
#2 12    2
#3 13    3
#4 14    4
#5 15    5