r - 我如何理解“选择”和“包含”的组合?
问题描述
我必须将一些 R 代码翻译成 python。我陷入了以下行,我不明白那里发生了什么:
new_data <- data %>% select(-contains('exit'),exit)
什么是 -contains 字符串?至于选择 - 我知道第二个出口是关于一个名为出口的特定列,但它是什么意思 - 包含?退出列将不包含“退出”字符串?
谢谢
解决方案
这意味着如果该列中有字符串'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
推荐阅读
- android - Android:从应用程序以编程方式打开开发人员选项时遇到“静默”崩溃
- r - 为什么我在 R 中收到 QQLine 绘图错误
- php - Http 发送 Post 请求但 Curl 失败
- parallel-processing - MPI,如果使用非阻塞 i_send 或 i_recv,如果最后有等待,哪个先走有关系吗?
- node.js - 使用(本地、谷歌、脸书)的 MongoDB 用户模式设计身份验证
- java - groovy “BUG!源单元 sun.reflect.annotation.TypeNotPresentExceptionProxy 阶段‘语义分析’中的异常” JAVA SPRING BOOT 1.x -> 2.x
- sql - 每天计数返回错误值
- c++ - tictactoe:检查无效输入
- php - 如何在 smarty 框架 (*.tpl) 中将图像发送到服务器?我已经写好了预览图片代码,但是我不知道怎么发送
- python - 如何在 Python 中使用 for 循环保存文件?