楼主: 1286856087
7051 5

[问答] 分段函数的编写 [推广有奖]

  • 0关注
  • 0粉丝

初中生

9%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
62 点
帖子
7
精华
0
在线时间
10 小时
注册时间
2015-5-5
最后登录
2015-5-31

楼主
1286856087 发表于 2015-5-5 14:13:33 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我是R语音新手,有一个问题希望能够在这里得到解答。
      问题如下:
      已知ziyuan是一个列向量,范围在(0,1000)
      而money是一个分段函数
      money= 7    ziyuan<=35
      money=7+(ziyuan-35)/5   ziyuan>35&ziyuan<=185
      money=37+(ziyuan-185)/6   ziyuan>185&ziyuan<=479
      我使用的代码是
         length(money)<-length(ziyuan)
money[ziyuan>=0&ziyuan<40]=7
money[ziyuan>=40&ziyuan<191]=7+(ziyuan[ziyuan>=40&ziyuan<197]-35)/5
money[ziyuan>185&ziyuan<=479]=37+(ziyuan[ziyuan>185&ziyuan<=479]-185/6
money[ziyuan>479&ziyuan<=832]=77+trunc((ziyuan[ziyuan>479&ziyuan<=832]-479)/7)
money[ziyuan>832]=127+trunc((ziyuan[ziyuan>832]-832)/8)

但是与老师给我的答案不一样
我不知道是不是我的格式错了
或者有没有更好的格式来写分段函数
谢谢各位了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:分段函数 不知道是不是 money Yuan Mon money 我不知道 语音

沙发
lww1993 发表于 2015-5-8 17:53:39
money<-function(ziyuan){
    if(ziyuan<=35)
    money=7
    if(ziyuan>35&ziyuan<=185)
     money=7+(ziyuan-35)/5   
      if(ziyuan>185&ziyuan<=479)
      money=37+(ziyuan-185)/6  
      money
        }你参考一下吧。
已有 1 人评分论坛币 收起 理由
admin_kefu + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

藤椅
1286856087 发表于 2015-5-10 20:38:15
不行的吧,“条件的长度大于一,因此只能用其第一元素”ziyuan是向量,money也是向量,主要是想根据下标赋值。我这样的赋值会多出来很多空值。

板凳
1286856087 发表于 2015-5-10 20:38:48
lww1993 发表于 2015-5-8 17:53
money
不行的吧,“条件的长度大于一,因此只能用其第一元素”ziyuan是向量,money也是向量,主要是想根据下标赋值。我这样的赋值会多出来很多空值。

报纸
lww1993 发表于 2015-5-11 09:32:27
1286856087 发表于 2015-5-10 20:38
不行的吧,“条件的长度大于一,因此只能用其第一元素”ziyuan是向量,money也是向量,主要是想根据下标赋 ...
既然你用的是向量,那么的话,你用一个for循环,逐个根据ziyuan的值计算对应的money的值。

地板
1286856087 发表于 2015-5-14 07:35:24
lww1993 发表于 2015-5-11 09:32
既然你用的是向量,那么的话,你用一个for循环,逐个根据ziyuan的值计算对应的money的值。
我试试,谢谢你

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 02:30