首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

R从包含其他df的data.frame中删除列

在R中,可以使用如下方式从包含其他数据框的data.frame中删除列:

  1. 使用逻辑索引进行列删除:
  2. 使用逻辑索引进行列删除:
  3. 这里other_df是包含要删除的列的数据框,通过colnames(df) %in% colnames(other_df)生成一个逻辑向量,表示df中每一列是否出现在other_df中。通过取反运算符!将其转换为要删除的列的逻辑向量,然后使用[, ]操作符删除这些列。
  4. 使用列索引进行列删除:
  5. 使用列索引进行列删除:
  6. [, ]操作符中使用负数列索引,可以删除指定的列。上面的例子中,-c(2, 4)表示删除第2列和第4列。

删除列后,df将只包含除了在other_df中出现的列以外的所有列。

关于R中data.frame的更多操作和用法,你可以参考腾讯云的产品介绍页面: 腾讯云产品介绍-数据存储-R

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

大佬们,如何把某一包含某个值所在行给删除

一、前言 前几天在Python白银交流群【上海新年人】问了一个Pandas数据处理问题,一起来看看吧。 大佬们,如何把某一包含某个值所在行给删除?比方说把包含电力这两个字行给删除。...二、实现过程 这里【莫生气】给了一个思路和代码: # 删除Column1包含'cherry'df = df[~df['Column1'].str.contains('电力')] 经过点拨,顺利地解决了粉丝问题...后来粉丝增加了难度,问题如下:但如果我同时要想删除包含电力与电梯,这两个关键,又该怎么办呢? 这里【莫生气】和【FANG.J】继续给出了答案,可以看看上面的这个写法,中间加个&符号即可。...代码如下:df = df[~df['col1'].str.contains('电力|电梯')]。 顺利地解决了粉丝问题。...但是粉丝还有其他更加复杂需求,其实本质上方法就是上面提及,如果你想要更多的话,可以考虑下逻辑 方面进行优化,如果没有的话,正向解决,那就是代码堆积。

18510
  • R语言数据结构(三)数据框

    为方便大家理解记忆,对每种数据结构基本操作概括为四大类: 创建数据结构 往里面添加数据 里面查询数据 对里面的数据进行修改 这篇文章我们将介绍数据框使用 数据框 数据框是R语言中一种类似于表格数据结构...行列索引号1开始,表示第一行或第一,负数表示排除对应位置元素。名称是指数据框每个向量名称,可以用双引号或单引号包围。使用方括号[]访问数据框元素时,返回结果仍然是一个数据框。...city",包含每个人对应城市信息 city <- c("New York", "London", "Tokyo") # 使用赋值符号<-给数据框增加新 df_add$city <- city...# 2 Bob FALSE 21 London 删除数据框 下面示例代码展示了如何使用负数索引和subset()函数在R语言中删除数据框行或,并在每个操作后注释了相应输出结果。...# 1 Alice 20 F # 3 Charlie 30 M # 4 David 28 M # 删除 # 删除数据框gender df_deleted_column

    25030

    从零开始异世界生信学习 R语言部分 02 数据结构之数据框、矩阵、列表

    数据框 data.frame 数据框 约等于表格:1.数据框不是一个具体文件,只是R语言内部一个数据;2.数据框每一只能有一种数据类型 图片 新建和读取数据框 #新建和读取数据框 df1 <- data.frame...df2 <- read.csv("gene.csv") #读取文件时候注意文件路径,默认只会工作目录读取文件,否则可能出现报错 df2 图片 数据框属性 数据框属性 # dim(df1)...df1[,3] df1[,ncol(df1)] #ncol()函数统计列数,一共多少列,就是取最后一 #如何取数据框除了最后一以外其他?...增加一 在$后面写一个不存在列名表示增加一 df1$p.value <- c(0.01,0.02,0.07,0.05) df1 #改行名和列名 rownames(df1) <- c("r1",..."r2","r3","r4") #只修改某一行/名 colnames(df1)[2] <- "CHANGE" # | 或符号前后不可以连接字符,只能用于数字,逻辑值 两个数据框连接 test1 <

    1.8K20

    Learn R 数据结构

    1.数据框来源 1)用代码新建 2)由已有数据转换或处理得到 3)读取表格文件 4)R语言内置数据 2.新建和读取数据框 df1 <- data.frame(gene = paste0("gene...df1,3undefined1 5 3 -2 -4 > df1[,ncol(df1)] #ncol( ) 取数据框最后一 1 5 3 -2 -4 如何取数据框除了最后一以外其他?...) <- c("r1","r2","r3","r4") 只修改某一行/名 > colnames(df1)[2] <- "CHANGE" 6.两个数据框连接 > test1 60 向量吧分数大于60的人提取出来 [1]"jimmy" "Damon" "Sophie" 删除变量 删除在environment内容 ‘小扫把’ rm(l) rm(...df1,df2) rm(list = ls()) ctrl+L #快捷键清空控制台上记录 图片 练习题 3-2 04exercise-R #1.统计iris最后一有哪几个取值,每个取值重复了多少次

    54700

    跟小洁老师学习R语言第三天

    输出是abcdabcdabcd,each输出是aaabbbcccddd 数据框、矩阵和列表 向量是一维 matrix矩阵是二维,只允许一种数据类型 data.frame数据框是二维,每只允许一种数据类型...(df1) 数据框取子集 df1$gene mean(df1$score) # 按坐标 df1[2,2] df1[2,] df1[,2] df1[c(1,3),1:2]#括号里逗号,表示维度分割...df1[,3] df1[,ncol(df1)] #取数据框除了最后一以外其他?...) #改行名和列名 rownames(df1) <- c("r1","r2","r3","r4") #只修改某一行/名 colnames(df1)[2] <- "CHANGE" 两个数据框连接...#删除一个 rm(l) #删除多个 rm(df1,df2) #删除全部 rm(list = ls()) #清空控制台 ctrl+l #也可以选择environment右上角小扫帚 元素名称 scores

    51030

    tidyverse:R语言中相当于pythonpandas+matplotlib存在

    文件读取数据 purrr:(提供好用编程函数 tibble:data.frame升级款 stringr:处理字符,查找、替换等 forcats:处理因子问题 ?...02 — tibble:高级数据框(data.frame升级版) ——数据()类型一目了然 tibble是R语言中一个用来替换data.frame类型扩展数据框,tibble继承了data.frame...,会自动添加列名 tibble,类型只能回收长度为1输入 tibble,会懒加载参数,并按顺序运行 tibble,是tbl_df类型 tibble是data.frame进化版,有如下优点:生成数据框数据每可以保持原来数据格式...例如:x %>% f(y) 等价于 f(x,y) Rstudio快捷键: ctrl+shift+m 以R自带iris(鸢尾花数据集)为例: > head(iris,n=3) Sepal.Length...#key:将原数据框所有赋给一个新变量key #value:将原数据框所有值赋给一个新变量value #…:可以指定哪些聚到同一 #na.rm:是否删除缺失值 widedata <-

    4.1K10

    生信马拉松 Day3

    要写能换个环境和场景依然可运行代码,而不是一次性玩意儿 总览 “向量”一维 matrix 矩阵——二维,只允许一种数据类型 data.frame 数据框——二维,每只允许一种数据类型 list 列表...——可装万物 首先是最重要数据框 数据框来源 (1)用代码新建 (2)由已有数据转换或处理得到 (3)读取表格文件 (4)R语言内置数据 1.新建和读取数据框 df1 <- data.frame(gene...<- c(0.01,0.02,0.07,0.05) df1 #改行名和列名 rownames(df1) <- c("r1","r2","r3","r4") #只修改某一行/名 colnames(...[1] 2 4 6 8 2.代码思维取数据框最后一,以及除了最后一以外其他 这个在实际写代码时候真的很容易忘记,当时急着用写上数字后面copy到其他数据里就要反复改 df1[,ncol(df1...)] df1[,-ncol(df1)] 3.删除 其实偶尔也会有删除单个变量需求,很实用小代码 rm(x) rm(df1,df2) rm(list = ls()) 4.其他读series.matrix

    30410

    R 数据分析

    目录: windows命令行执行R dataframe 常用函数、变量 1、windows命令行执行R 前提:已经把R命令目录加入了系统路径。  ...(2)Rscript xxx.r 这种方式输出结果直接显示在命令行,不会生成其他输出文件 这种方式可以用commandArgs()函数得到传递参数 但是得到参数索引由函数trailingOnly...参数决定,当trailingOnly=TRUE时,参数索引1开始; 当trailingOnly=TRUE时,参数索引6开始,因为: args[1]= "C:\\Program Files\\R\\R...# 创建和df有同样多,0行数据框 > df_r = df[, FALSE] data frame with 0 columns and 4 rows # 创建一个行数为0,数、列名和df相同数据框..., ...) : 变量数不对 其他 #数据框长度是数目 > length(df) [1] 3 # 数 > ncol(df) [1] 3 # 行数 > nrow(df) [1] 4 3、基本统计函数

    1.4K20

    给数据科学家10个提示和技巧Vol.4

    该博客由一群数据科学家所运营,专注于讲解在各种领域如何使用大数据技术(机器学习和人工智能到业务领域)。 1 引言 前面已经介绍了一些数据分析技巧,主要是用Python和R实现。...2 R 2.1 对不同元素进行累积计数 有时,我们会遇到有重复元素列表(或向量),并需要对其中包含不同值进行累积计数,这时只需要累加列表(或向量)中新元素出现次数。...在R,可以利用na.omit=True删除缺失值,这种方法适用于缺失值较少情况;若数据缺失值较多,可利用样本信息进行补齐,方法如下: df[sapply(df, is.numeric)] <- lapply...2.3 tidyverse:用select_if筛选 dplyr包select_if函数,在按条件筛选时非常有用,并且还可以添加不同函数来修改列名。...relocate()是dplyr1.0.0新添加

    45340

    (数据科学学习手札07)R在数据框操作上方法总结(初级篇)

    上篇我们了解了Pythonpandas内封装关于数据框常用操作方法,而作为专为数据科学而生一门语言,R在数据框操作上则更为丰富精彩,本篇就R处理数据框常用方法进行总结: 1.数据框生成 利用...在R,通过内联键合并数据框函数为merge(),其主要参数如下: by:对两个数据框建立内联共有(元素交集部分不能为空集),以此列为依据,返回内联取交集后剩下样本行 sort:是否对合并后数据框以内联列为排序依据进行排序...,R数据框合并原则是不返回含有缺失值行 > merge(df1,df2,by='ID') ID a b 1 a 2 9 2 b 1 10 3 c 3 8 4 d 4...FALSE TRUE FALSE FALSE 可以看出,bbb,aaa,ccc这三种组合方式在数据框重复多次,因此对这三种方式第二次及以后出现情况返回TRUE,其余行返回FALSE 数据框删除方法...需要删除行,!需要删除] 上面的duplicated(df)已经提取出df所有重复行逻辑型标号,因此只需要在删除方法里设置删除标号为duplicated(df)返回值即可: > df[!

    1.4K80

    Pandas 2.2 中文官方教程和指南(三)

    字符串方法Series.str.contains()检查Name每个值是否包含单词Countess,并对每个值返回True(Countess是名称一部分)或False(Countess不是名称一部分...在 R ,您可能希望获取data.frame行,其中一值小于另一值: df <- data.frame(a=rnorm(10), b=rnorm(10)) subset(df, a...with 在 R 中使用名为df数据框,其中包含a和b表达式将使用with进行评估: df <- data.frame(a=rnorm(10), b=rnorm(10)) with(df,...在 R ,您可能希望获取data.frame行,其中一值小于另一值: df <- data.frame(a=rnorm(10), b=rnorm(10)) subset(df, a...在 R ,您可能希望获取 data.frame 行,其中一个值小于另一个值: df <- data.frame(a=rnorm(10), b=rnorm(10)) subset(df,

    21100

    R语言 数据框、矩阵、列表创建、修改、导出

    data.frame生成指定数据框列名及内容,如代码所示,此时列名不需添加"",df1为变量名,格式为列名=向量*matrix矩阵与向量一样只允许同一种数据类型,否则会被转换,可以理解为二维向量...,data.frame数据框允许不同不同数据类型,但同一只允许一种数据类型*数据框括号内行在df1 <- data.frame(gene = paste0("gene",1:4),...tsv改变文件名而来,此时用csv打开会报错,该知识点用于防止部分代码错误应用csv套用tsv等#文件读写部分(文件位于R_02Rproject)#1.读取ex1.txt txt用read.table...R语言将列名特殊字符-转化了,该编号可能与其他数据编号无法匹配,ex2 <- read.csv("ex2.csv“",row.names = 1,check.names = F) #row.names...不支持l$m1 #取出名为m1成分变量删除rm(l) #删除列表lrm(df1,df2) #删除变量df1与df2rm(list = ls()) #清空所有变量附作业答案及解释# 练习3-1# 1

    7.8K00

    Matt Dowle 演讲节选(二)

    在2004年第一天,Matt 离开了所罗门兄弟,也离开了 S-PLUS。他开始不断尝试,终于用自己方式重写了[.data.frame这个函数,从而让sum(B)在 R 也能得以运行。...而在第二种方法,由于采用了 assignment by reference,data.table仅对内存v1所在地址进行修改,其他地方则不变!事实上,DF 在第二种方法中一遍都没有被复制!...因为任何对处理都必须导致数据集在内存复制,也即假如我们内存是 4G,那么在使用data.frame情况下,我们最大就只能处理 2G 数据集!...一个更极端例子是,加入你在 4G 内存 装下了一个 3G 数据集,这时你想要删去其中都是不可能,因为在data.frame,哪怕删除操作都会导致数据集复制!...True,时间是缩短不少,但那意味着许多枯燥输入。假设你有100,难道你要每class都指定一遍? 这时你就需要fread("test.csv")!不需要输入任何其他参数,你猜要运行多久?

    1.1K40
    领券