我有一个数据框df
。我想将函数myfun
应用于它的每一行。但我最好在函数myfun
中使用数据帧的标题名称。想知道是否可以在myfun
中没有明确重命名列的情况下完成此操作。谢谢!
myfun() <- function(rowdf) {
//statements
if(rowdf$price > 1000){
val = "high"
} elseif(rowdf$num_floors > 3){
val = "high"
} else{
val = "low"
}
return(val)
}
//df has columns price and num_floors
bld_vals = apply(df, 1, myfun)
答案 0 :(得分:0)
你需要改变一些事情,
请遵循以下代码:
myfun <- function(rowdf,price,num_floors) {
val <- ifelse (rowdf[,price]>1000,"high",ifelse(rowdf[,num_floors]>3,"high","low"))
return(val)
}
df$val <- myfun(df,"price","num_floors")