簡體   English   中英

如何使用一列來控制 r 中另一列的 select 行?

[英]How do I use one column to gate select rows of another column in r?

我有一個數據集,其中有一列 1 和 0,另一列具有雙值。 我想創建第三列,其中包含第二列中每一行中的數據,對應於第一列中的 1。 我不知道如何做到這一點,谷歌搜索一直是一場噩夢。 我該怎么做呢?

您可以使用ifelse在單行中執行此操作。 假設您的數據框在col1中稱為df , 1 和 0 值,在col2中加倍,對應於零的值是NA

df$col3 <- ifelse(df$col1, df$col2, NA)

我們可以使用索引在單行中的base R中執行此操作。 我們使用第一個“col1”創建邏輯向量,並將其用作索引來創建新列。 默認情況下,來自 'i1' 的值為 FALSE 的值為NA

i1 <- as.logical(df1$col1) 
# // or
# i1 <- df1$col1 == 1
df1$col3[i1] <- df1$col2[i1]

或作為單行

df1$col3[as.logical(df1$col1)] <- df1$col2[as.logical(df1$col1)]

暫無
暫無

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

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