楼主: yanhzii
615 2

[程序分享] 在R里通过for和if语句判断1个数据框的某个字符串是否出现在另一个数据框,出现把原第1 [推广有奖]

  • 0关注
  • 0粉丝

学前班

70%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
30 点
帖子
1
精华
0
在线时间
3 小时
注册时间
2022-12-16
最后登录
2023-2-26

楼主
yanhzii 发表于 2022-12-16 22:27:43 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. genomeID=read.csv("genomeID.csv",row.names = 1)
  2. gene_to_ko=read.csv("gene_to_ko.csv")
  3. genomeIDbackup=genomeID
  4. gene_to_kobackup=gene_to_ko

  5. for(genomeX in rownames(genomeID)){
  6.   for (geneY in list(colnames(genomeID))) {
  7.     if(genomeID[genomeX,geneY] %in% gene_to_ko$genomeX){
  8.       genomeID[genomeX,geneY]<-1
  9.     }else{
  10.       genomeID[genomeX,geneY]<-0
  11.    
  12.   }}}

  13. ##
  14. Error in if (genomeID[genomeX, geneY] %in% gene_to_ko$genomeX) { :
  15.   the condition has length > 1
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:数据框 字符串 For Genome Backup R语言 for循环 if语句 统计 管理软件

沙发
zhjx19 发表于 2022-12-17 09:33:33
学点tidyverse数据思维编程吧
  1. library(tidyverse)

  2. df1 = tibble(
  3.     ID1 = 1:5,
  4.     x = c(2,7,9,3,6))

  5. df2 = tibble(
  6.     ID2 = c(2,3,5),
  7.     y = 1)

  8. df1 %>%
  9.     mutate(y = ifelse(ID1 %in% df2$ID2, 1, 0))
复制代码


已有 1 人评分论坛币 收起 理由
cheetahfly + 10 精彩帖子

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

藤椅
三江鸿 发表于 2022-12-17 19:22:18 来自手机
点个赞感谢分享

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

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