我想要使用sapply或lapply简化以下多个ifelse代码(仍然无法区分它们)。R sapply/lapply与多个ifelse语句
我的目标是根据如下所示的位置分配积分。
df$Point <- ifelse(df$Placement_v2 <= 1, 10,
ifelse(df$Placement_v2 <= 10, 9,
ifelse(df$Placement_v2 <= 25, 8,
ifelse(df$Placement_v2 <= 50, 7, 1))))
此代码的工作不错,但我想打一个数据帧,只是我上面的代码使用sapply或lapply(或任何其它功能)。
我试过这段代码,但没有按预期工作。只有放置1行得到10分和其他行结束了1
<第二码>
df$Point <- sapply(df2$Placement, function(x) ifelse(df$Placement_v2 <= x, df2$Point[df2$Placement == x], 1))
我怎样才能解决这个问题?
感谢您的答复。你的代码很好地工作。我只是想了解更多关于剪切功能。我的水平显示为(1,10](10,25)(25,50)(50,100](100,200)(200,1e + 07)。是否有办法使它像1](1,10]( 10,25](25,50](50,100)(100,200)(200?我试图在我的数据框中不使用0或1e5。 – coldbeats