我想要使用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