楼主: steven64
15453 6

[求助]! R问题:随机排序? [推广有奖]

  • 0关注
  • 1粉丝

大专生

25%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
496 点
帖子
34
精华
0
在线时间
24 小时
注册时间
2007-8-28
最后登录
2014-5-5

楼主
steven64 发表于 2008-3-6 12:53:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

想请教大家一个问题,用R怎么随机排序?

即原来1,2,3,4,5,随机排序后 3,2,1,5,4 等。

我找了很久也没找到相关函数,希望大家能帮帮忙,谢谢!

[此贴子已经被作者于2008-3-6 12:57:12编辑过]

二维码

扫码加我 拉你入群

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

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

关键词:请教大家一个问题 相关函数 随机

回帖推荐

heavenicefox 发表于2楼  查看完整内容

这个比较简单了可能这个函数你见过,也用过的。就是sample()函数,这是个随机抽样函数,直接给你个例子好了-->x<-1:10-->sample(x,10) [1]  1  9  5  7 10  4  8  3  2  6-->sample(x,10) [1]  5  1  3  2  8 10  9  4  6  7只要第二个参数的数值和第一个参数的长度相同就可以了。

本帖被以下文库推荐

沙发
heavenicefox 发表于 2008-3-6 13:01:00

这个比较简单了

可能这个函数你见过,也用过的。

就是sample()函数,

这是个随机抽样函数,

直接给你个例子好了

-->x<-1:10
-->sample(x,10)
 [1]  1  9  5  7 10  4  8  3  2  6
-->sample(x,10)
 [1]  5  1  3  2  8 10  9  4  6  7

只要第二个参数的数值和第一个参数的长度相同就可以了。

已有 1 人评分论坛币 热心指数 收起 理由
crystal8832 + 10 + 1 热心帮助其他会员

总评分: 论坛币 + 10  热心指数 + 1   查看全部评分

藤椅
steven64 发表于 2008-3-6 14:33:00
以下是引用heavenicefox在2008-3-6 13:01:00的发言:

这个比较简单了

可能这个函数你见过,也用过的。

就是sample()函数,

这是个随机抽样函数,

直接给你个例子好了

-->x<-1:10
-->sample(x,10)
 [1]  1  9  5  7 10  4  8  3  2  6
-->sample(x,10)
 [1]  5  1  3  2  8 10  9  4  6  7

只要第二个参数的数值和第一个参数的长度相同就可以了。

谢谢你拉!之前看过这个函数,但没有详细了解它啊,原来是个随机抽样函数。

对了,你知道有产生均匀随机整数的函数吗?我找不到,所以用ceiling(runif(100,1,10),这样比较麻烦,你知道有直接取的函数吗?

板凳
heavenicefox 发表于 2008-3-6 15:51:00

嘿嘿~~~~~~~

你这下就有意思了

在论坛回答一个问题会有100论坛币的奖励的,

我刚回答你了一个。

斑竹会给我加100分的,

那我在回答你这个,

不知道斑竹会不会给我加分?

哈哈

开玩笑了,

我仅仅用了几天时间就有了1000多分了

也不是很在乎这个了。

其实你这个问题就更简单了。

首先先说说你的方法,

ceiling()是个取整函数,这毫无疑问。

但是它是个单方向的,向上的取整函数。

比如1.55和1.03经过ceiling取整后都是2

这样的话也许会对你的数据的随机性产生影响。

    注意:是也许,因为我没有证明,也不会证明。这是感觉罢了。

我是学统计的,不知道能不能建议你用四舍五入函数:round(x,0),也就是不保留小数。

仅仅感觉这样会好一些。

嘿嘿~~~~~~~~~~~

报纸
steven64 发表于 2008-3-6 18:19:00
以下是引用heavenicefox在2008-3-6 15:51:00的发言:

     我是学统计的,不知道能不能建议你用四舍五入函数:round(x,0),也就是不保留小数。

仅仅感觉这样会好一些。

嘿嘿~~~~~~~~~~~

哈哈,我也是读统计学的。其实你说的round(x,0),我之前已经想过了,不过因为我是要在1-100中随机产生几个数(例如10个吧)做为学号,所以我就用 ceiling(runif(10,0,100))哦,我是想看看R有没有直接是产生随机整数的函数,所以想问问咯,对了,可以加你QQ吗,我的QQ:147293130

地板
sophiama 发表于 2008-3-6 18:31:00

首先生成一个整数序列;

然后用sample().

签名被屏蔽

7
heavenicefox 发表于 2008-3-6 18:59:00

这个办法不错。

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

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