簡體   English   中英

R:分類獲取新表

[英]R: categorize obtain a new table

在此處輸入圖像描述

我有這樣一張表,有 3 個列 rs10330、rs18976 和 rs749。 我想獲取最后一列identifiedID,哪一行在每列中有AG或GG,GT或TT,AT或TT之一,identifiedID將為1,並且有兩個identifiedID將為2。至於第1行,有3列沒有AG或GG,GT或TT,AT或TT,因此,identifiedID為0。為了獲得identifiedID,代碼是什么?


數據

datmp <- data.frame(rs10330=c('AA','AG','GG','AG','AA'), 
                    rs18976=c('GG','GT','GT','GG','GG'), 
                    rs7498=c( 'AA','AT','TT','AT','TT')) 
identifiedID <- c(0,3,3,2,1) 
datmp2 <- data.frame(datmp,identifiedID)

一個非常冗長的解決方案是

datmp %>%
    mutate(identifiedID = rs10330 %in% c("AG", "GG") + 
               rs18976 %in% c("GT", "TT") + 
                    rs7498 %in% c("AT", "TT"))
#  rs10330 rs18976 rs7498 identifiedID
#1      AA      GG     AA            0
#2      AG      GT     AT            3
#3      GG      GT     TT            3
#4      AG      GG     AT            2
#5      AA      GG     TT            1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM