数据框应用带标题

时间:2017-02-21 07:17:26

标签: r dataframe apply

我有一个数据框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)

1 个答案:

答案 0 :(得分:0)

你需要改变一些事情,

  1. 您可以使用&#34; $&#34;在数据帧上,你正在通过这种方式。
  2. 无需申请您的意图。
  3. 请遵循以下代码:

    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")