楼主: 惠儿要买书
986 3

[问答] 请教大家一个的R软件问题?急 [推广有奖]

  • 0关注
  • 0粉丝

高中生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
166 点
帖子
16
精华
0
在线时间
24 小时
注册时间
2012-10-1
最后登录
2015-6-19

楼主
惠儿要买书 在职认证  发表于 2014-3-12 20:32:51 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币



  • > u=runif(5) #生成5个服从(0,1)均匀分布
    > u
    [1] 0.5811736 0.1417997 0.8934533 0.1645944 0.7795856
    > y1=c(1,2,3,4,5)
    > y2=c(6,7,8,9,10)
    > ifelse(u<0.5,y1,y2)
    [1] 6 2 8 4 10
    我现在有y1,y2,y3,y4,想让u<0.25的对应y1元素,0.25<=u<0.5的对应y2元素,0.5<=u<0.75的对应y3元素,最后0.75<=y的对应y4元素。怎么办?不要用for循环啊,老师不让,求有没有现成的语言像ifelse一样,非常感谢!  





二维码

扫码加我 拉你入群

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

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

关键词:软件问题 r软件 else 均匀分布 LSE 软件

沙发
凸集分离定理 发表于 2014-3-12 21:05:38



#set.seed(12346)
u=runif(5) #生成5个服从(0,1)均匀分布
u


y1=c(1,2,3,4,5)
y2=c(6,7,8,9,10)
# ifelse(u<0.5,y1,y2)
y3=c(11,12,13,14,15)
y4=c(16,17,18,19,20)

#我现在有y1,y2,y3,y4,想让u<0.25的对应y1元素,0.25<=u<0.5的对应y2元素,0.5<=u<0#.75的对应y3元素,最后0.75<=y的对应y4元素。怎么办?不要用for循环啊,老师不让,求有没有现成的语言像ifelse一样,非常感谢!
value=rep(NA,5)

value[ u<=0.25]= y1[u<=0.25]
value

value[ u>0.25&u<=0.5]= y2[u>0.25&u<=0.5]
value

value[ u>0.5&u<=0.75]= y3[u>0.5&u<=0.75]
value

value[ u>=0.75]= y4[u>=0.75]
value

value

藤椅
yywan0913 在职认证  发表于 2014-3-12 22:36:49
  1. ifelse(u>0.75,y4,ifelse(u>0.5,y3,ifelse(u>0.25,y2,y1)))
复制代码
是什么给了你自信

板凳
danica33 发表于 2014-3-19 17:42:40
> u<-runif(5)
> y1<-1:5
> y2<-6:10
> y3<-11:15
> y4<-16:20
> ind<-as.integer(cut(u,breaks=c(0,0.25,0.5,0.75,1)))
> y<-rbind(y1,y2,y3,y4)
> y[cbind(ind,1:5)]
[1] 11 17  3 19 10
> u
[1] 0.6172559 0.7970889 0.1834669 0.7976067 0.3278554
>

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

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