楼主: Jasonbestone
865 3

[其他] R语言if语句 [推广有奖]

  • 0关注
  • 0粉丝

已卖:2份资源

高中生

30%

还不是VIP/贵宾

-

威望
0
论坛币
399 个
通用积分
0.7426
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
638 点
帖子
19
精华
0
在线时间
26 小时
注册时间
2020-5-16
最后登录
2024-5-8

楼主
Jasonbestone 发表于 2022-10-24 22:47:18 |AI写论文
1论坛币
有没有大佬可以帮我看看这个语句有什么问题呀?



setwd("D:/R_edu/data")
loans=read.csv("loans.csv")
if (loans$status == "A"){loans$bad_good <-0
}else if (loans$status == "B") {loans$bad_good <-1
}else if (loans$status == "D") {loans$bad_good <-1
}else{
  loans$bad_good <-NA
}

报错:
Warning messages:
1: In if (loans$status == "A") { :
  the condition has length > 1 and only the first element will be used
2: In if (loans$status == "B") { :
  the condition has length > 1 and only the first element will be used



谢谢大佬



关键词:R语言 status loans READ Data

沙发
橙红的果士 学生认证  发表于 2022-10-24 22:47:19
  1. for (i in 1:length(loans$status)){
  2. if (loans$status[i] == "A") {loans$bad_good<-0}  #这里的bad_good变量是原数据集中就存在的吗?建议写成loans[, 'bad_good']
  3. else if (loans$status[i] == "B") {loans$bad_good<-1}
  4. else if (loans$status[i] == "D") {loans$bad_good<-1} #这里的赋值有重复
  5. else {loans$bad_good<-NA}
  6. }
复制代码

藤椅
橙红的果士 学生认证  发表于 2022-10-25 08:50:27
loans$status 是数据集中的一列变量的取值,理论上来说是向量或者1维的矩阵,这就需要使用循环,遍历这个向量或者1维矩阵的每一个元素,去判断是否等于 A 或者 B,所以建议使用 for 循环

板凳
哈我会努力的! 发表于 2022-10-25 10:35:16 来自手机
Jasonbestone 发表于 2022-10-24 22:47
有没有大佬可以帮我看看这个语句有什么问题呀?
不写if语句也可以直接赋值的,如果写if语句的话,上面再这个循环才可以

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-5 13:29