R 创建具有范围的列
我的数据集是客户流失建模: 我希望创建一个名为c_rating的专栏,范围如下:(=780-“优秀”)R 创建具有范围的列,r,R,我的数据集是客户流失建模: 我希望创建一个名为c_rating的专栏,范围如下:(=780-“优秀”) chorn使用mutate()和case\u when() 库(tidyverse) 搅拌尼古拉斯·拉托的回答很好。另一种方法是首先创建一个用户定义的函数,然后使用lappy()。这里有一个例子 churn <- read.csv("Churn_Modeling.csv") churn$CreditScore <- as.numeric(churn$Credi
chorn使用mutate()和case\u when()
库(tidyverse)
搅拌尼古拉斯·拉托的回答很好。另一种方法是首先创建一个用户定义的函数,然后使用lappy()
。这里有一个例子
churn <- read.csv("Churn_Modeling.csv")
churn$CreditScore <- as.numeric(churn$CreditScore)
C_Rating = function(score){
if (score < 500)
rating = "Very Poor"
else if (score >= 500 & score <= 600)
rating = "Poor"
else if (score >= 601 & score <= 660)
rating = "Fair"
else if(score >= 661 & score <= 780)
rating = "Good"
else
rating = "Excellent"
return(rating)
}
churn$c_rating = churn$CreditScore %>% lapply(C_Rating)
chorn库不需要使用引号,library(tidyverse)
工作正常。您的cut
函数有8个断点,但只有5个标签。对于n个断点,您应该有n-1个标签。感谢您指出这一点。删除我的错误评论。
churn <- read.csv("Churn_Modeling.csv")
churn$CreditScore <- as.numeric(churn$CreditScore)
class(churn$CreditScore)
churn$c_rating <- cut(churn$CreditScore, c(-Inf, 500, 600, 601, 660, 661, 780, Inf),
levels=c('<=500', '500-600', '601-660', '661-780', '>780'))
churn$c_rating
library(tidyverse)
churn <- read.csv("Churn_Modeling.csv")
churn<-churn %>% mutate(c_rating=case_when(CreditScore<500~"very poor",
CreditScore>=500 & CreditScore<=600~"poor",
CreditScore>=601 & CreditScore<=660~"fair",
CreditScore>=661 & CreditScore<=780~"good",
CreditScore> 780 ~ "excellent"))
churn <- read.csv("Churn_Modeling.csv")
churn$CreditScore <- as.numeric(churn$CreditScore)
C_Rating = function(score){
if (score < 500)
rating = "Very Poor"
else if (score >= 500 & score <= 600)
rating = "Poor"
else if (score >= 601 & score <= 660)
rating = "Fair"
else if(score >= 661 & score <= 780)
rating = "Good"
else
rating = "Excellent"
return(rating)
}
churn$c_rating = churn$CreditScore %>% lapply(C_Rating)