楼主: sdzyydx2019
1792 7

[问答] 求同时选定title列的第3和4个单词,作为分组条件 [推广有奖]

  • 0关注
  • 0粉丝

学前班

90%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
29 点
帖子
4
精华
0
在线时间
2 小时
注册时间
2021-8-16
最后登录
2021-8-28

楼主
sdzyydx2019 发表于 2021-8-16 20:46:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
屏幕截图 2021-08-16 204334.png
二维码

扫码加我 拉你入群

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

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

关键词:Title ITL R语言新手问题 R语言处理过程 ;R语言

沙发
owenqi 在职认证  学生认证  发表于 2021-8-17 08:17:57
多一个步骤,你可以用strsplit把这个title分开,然后取第三个和第四个。

藤椅
sdzyydx2019 发表于 2021-8-17 09:27:59
owenqi 发表于 2021-8-17 08:17
多一个步骤,你可以用strsplit把这个title分开,然后取第三个和第四个。
老师能告诉下代码吗?万分感谢!!!!

板凳
sdzyydx2019 发表于 2021-8-17 09:30:13
sdzyydx2019 发表于 2021-8-17 09:27
老师能告诉下代码吗?万分感谢!!!!
来自一个没有编程基础的医学生求助。

报纸
owenqi 在职认证  学生认证  发表于 2021-8-17 10:38:26
sdzyydx2019 发表于 2021-8-17 09:30
来自一个没有编程基础的医学生求助。
我意思是你原来title不是一个变量吗,然后你用strsplit就可以变成另外5个多出来的变量,然后你就选择你需要的变量进行筛选,分组就好了。你这没有数据的,我也不好写啊。

地板
sdzyydx2019 发表于 2021-8-17 16:55:14
owenqi 发表于 2021-8-17 10:38
我意思是你原来title不是一个变量吗,然后你用strsplit就可以变成另外5个多出来的变量,然后你就选择你需 ...
if(F){
  library(GEOquery)
  eSet <- getGEO('GSE4745', destdir=".",
                 AnnotGPL = F,
                 getGPL = F)
  save(eSet,file='GSE4745_eSet.Rdata')
}
load('GSE4745_eSet.Rdata')


b = eSet[[1]]
raw_exprSet=exprs(b)
phe=pData(b)
library(stringr)


group_list= str_split(as.character(phe$title),'_',simplify = T)[,3:4]


table(group_list)
save(raw_exprSet,group_list,
     file='GSE4745_raw_exprSet.Rdata')

rm(list=ls())
if(F){
  library(GEOquery)
  eSet <- getGEO('GSE4745', destdir=".",
                 AnnotGPL = F,
                 getGPL = F)
  save(eSet,file='GSE4745_eSet.Rdata')
}
load('GSE4745_eSet.Rdata')
b = eSet[[1]]
raw_exprSet=exprs(b)
raw_exprSet[1:4,1:4]
phe=pData(b)
phe$title
library(stringr)
str_split(title)
group_list= str_split(as.character(phe$title),'_',simplify = T)[,3:4]
group_list=paste0(group_list,'')
table(group_list)
save(raw_exprSet,group_list,
     file='GSE4745_raw_exprSet.Rdata')

老师,就是group_list分组那里,以title列的第3和第4个单词作为条件分组。上面代码是我复制的别的老师的。抱歉老师,我这上传不了分完组后的图片

7
owenqi 在职认证  学生认证  发表于 2021-8-17 20:28:39
我给你写个简单的例子,你就知道我在说什么了。
  1. library(tidyr)

  2. df <- data.frame(title = c('a_b_1_x', 'a_b_1_y'), val = c(7,8))
  3. df %>% separate(title, into = paste0('w', 1:4), sep = '_')
复制代码
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

8
bonypony 在职认证  发表于 2021-8-18 09:11:13
>name<- strsplit((GEOquery$title), " ")
>name

title 3<- sapply(name, "[", 3)
title 4<- sapply(name,"[",4)
GEOquery< cbind(title 3, title 4, GEOquery[,-title]
GEOquery
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

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

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

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