我想将一个函数应用于dataframe $ column1的每个值,返回相同长度的向量。如果条件适用,则输出应包含来自dataframe $ column2(同一行的)的值。在(伪)代码中
function <- "If (value of dataframe$column1[i] is something) {return(dataframe$column1[i])} else {return(dataframe$column2[i])}
output_vector <- sapply(dataframe$column1, function, dataframe$column2)
在应用函数时,是否应该记住向量的索引,以便从不同的向量返回一个值但具有相同的索引?
答案 0 :(得分:3)
这正是ifelse()
的作用:
df = data.frame(col1=1:10, col2=21:30)
output_vector = ifelse(df$col1 > 5, df$col1, df$col2)