![](/img/trans.png)
[英]Loop names from two dataframe columns through an existing function in R
[英]Function to loop through a list of columns in a dataframe in R
我正在嘗試創建一個函數或r中的一個循環,該循環可以遍歷特定字符串(例如'123')的列列表,並創建一個帶有指示符變量(例如0或1)的新列(如果字符串存在於列表中)。定義的列。
請參見下面的示例-我想創建一個函數/循環,該函數/循環將檢測從df1到df5的任何列中是否都找到了字符串'123',如果找到了該字符串,則new_column將為1,如果沒有,則為將為0
index df1 df2 df3 df4 df5 new_column
1 1 123 999 999 999 999 1
2 2 999 123 999 999 999 1
3 3 123 999 999 999 999 1
4 4 999 999 999 999 999 0
5 5 999 999 123 999 999 1
6 6 999 999 999 999 999 0
一種可能的解決方案(確保123是numeric
):
df <- cbind(df,new_c = sapply(1:length(df),function(x) ifelse(123 %in% df[x,],1,0)))
> df
index df1 df2 df3 df4 df5 new_c
1 1 123 999 999 999 999 1
2 2 999 123 999 999 999 1
3 3 123 999 999 999 999 1
4 4 999 999 999 999 999 0
5 5 999 999 123 999 999 1
6 6 999 999 999 999 999 0
數據:
> df
index df1 df2 df3 df4 df5
1 1 123 999 999 999 999
2 2 999 123 999 999 999
3 3 123 999 999 999 999
4 4 999 999 999 999 999
5 5 999 999 123 999 999
6 6 999 999 999 999 999
我們可以將Reduce
與|
df$new_column <- +(Reduce(`|`, lapply(df[2:6], `==`, 123)))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.