楼主: 千车麦穗
3263 3

[学习分享] 如何筛选出数据列之和大于某一值的列 [推广有奖]

  • 5关注
  • 0粉丝

已卖:1份资源

博士生

0%

还不是VIP/贵宾

-

威望
0
论坛币
89 个
通用积分
6.7270
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1864 点
帖子
84
精华
0
在线时间
292 小时
注册时间
2019-4-22
最后登录
2025-10-22

楼主
千车麦穗 发表于 2020-10-28 23:26:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位老师好,我想在保留字符列的同时,挑选出数值列之和大于50的列,请问有什么好办法吗…以下代码为一个简单的演示例子,数据列多的话显然用此方法不太简便,还望老师不吝指导,非常感谢!
  1. name <- c('A','B','A','A','C','D')
  2. school <- c('s1','s2','s1','s1','s1','s3')
  3. class <- c(10, 5, 4, 11, 1, 8)
  4. English <- c(85, 50, 90 ,90, 12, 96)
  5. math <- c(25,18,85,76,92,63)
  6. ww <- data.frame(name, school, class, English,math)
  7. ww


  8.   xx <- ww[3:5]
  9.   data.frame(ww[1:2],xx[,colSums(xx)>50])
复制代码


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:筛选出 name 非常感谢

沙发
zerofung 学生认证  发表于 2020-10-29 10:39:15
library(tidyverse)
ww %>% select_if(function(x) !is.numeric(x)|(is.numeric(x)&&sum(x)>50))
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
zerofung 学生认证  发表于 2020-10-29 10:42:23
你的方法已经很简单了,但是考虑到如果你的列会有数值和字符来回穿插出现的情况,我上面的代码可以把非数值的全保留,数值的只保留大于50的

板凳
千车麦穗 发表于 2020-10-29 14:58:42
zerofung 发表于 2020-10-29 10:42
你的方法已经很简单了,但是考虑到如果你的列会有数值和字符来回穿插出现的情况,我上面的代码可以把非数值 ...
谢谢您,老师,好用

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 22:09