2017-09-18 26 views
0
df <- 
SUB CONC  
    1  baseline (predose) 
    2  screen 
    2  predose 

我想補充一個標誌,這樣,如果CONC列有「給藥前」所寫的那樣,無論其他事情的單元格,然後給它一個標誌1 ,否則爲0.給予基於列單元格的關鍵字數據標誌

dfout <- 
SUB CONC     PREDOSE 
    1  baseline (predose)  1 
    2  screen     0 
    2  predose    1 

我該如何在R中做到這一點?我使用RStudio。

+2

的可能的複製【如何基於regexpr創建TRUE或FALSE柱( )發現在R?](https://stackoverflow.com/questions/28269170/how-to-create-a-true-or-false-column-based-on-regexpr-findings-in-r)或[Add列數據框,返回1如果字符串匹配某種模式](https://stackoverflow.com/questions/24698916/add-column-to-data-frame-which-returns-1-if-string-match-a -certain-pattern /) –

回答

1

我們可以使用grepl指定爲「預填充」 pattern創建邏輯向量,然後脅迫該二進制與as.integer

df$PREDOSE <- as.integer(grepl('predose', df$CONC)) 
df$PREDOSE 
#[1] 1 0 1 
+1

是的!非常感謝! – Amer

+0

有沒有辦法,例如,如果單元格具有「屏幕」,則添加2號標誌;如果不是「前導」或「屏幕」,則添加0號? (即,如果我需要放置多個標誌,則爲incase) – Amer

+0

@Amer在這種情況下,您可以創建關鍵值數據集並與原始數據集合並 – akrun

相關問題