随机产生服从不同分布的数据
均匀分布——runif()
> x1=round(runif(100,min=80,max=100))
> x1
[1] 93 100 98 98 92 98 98 89 90 98 100 89 94 90 85 91 91 84 84 95
[21] 87 88 91 93 81 81 94 88 81 99 89 82 84 96 90 87 83 91 86 86
[41] 90 86 80 99 92 86 99 91 80 89 89 80 84 93 85 91 98 99 91 95
[61] 92 90 81 88 86 97 80 82 95 87 86 89 81 95 95 81 83 89 82 93
[81] 87 82 94 92 86 90 83 96 99 89 80 90 87 81 92 89 81 95 93 96
其中参数100是产生100个数,取值区间为[80,100]。因为产生的数会有小数,所以使用round四舍五入。
正态分布——rnorm()
> x2=round(rnorm(100,mean = 80,sd=7))
> x2
[1] 85 79 88 87 85 71 92 73 86 90 90 82 76 79 80 85 73 71 80 78 74 75 88 84 76 92
[27] 93 84 92 86 80 76 87 80 69 87 97 85 73 94 95 81 81 79 86 80 85 88 80 78 89 86
[53] 82 78 77 81 81 89 81 88 85 75 67 71 88 82 83 86 74 78 88 60 89 86 81 78 87 78
[79] 87 77 75 75 79 78 80 69 84 74 79 69 71 78 86 83 88 81 73 78 91 86
mean代表平均值为80,标准差是7。
如果产生的数数值超过了90,而我们只想取90以内的数,那么使用
> x2[which(x2>90)]=90
> x2
[1] 85 79 88 87 85 71 90 73 86 90 90 82 76 79 80 85 73 71 80 78 74 75 88 84 76 90
[27] 90 84 90 86 80 76 87 80 69 87 90 85 73 90 90 81 81 79 86 80 85 88 80 78 89 86
[53] 82 78 77 81 81 89 81 88 85 75 67 71 88 82 83 86 74 78 88 60 89 86 81 78 87 78
[79] 87 77 75 75 79 78 80 69 84 74 79 69 71 78 86 83 88 81 73 78 90 86
同理,产生其他分布也是这个道理哦
泊松分布——rpois()
指数分布——rexp()
Gamma分布函数——rgamma()
均匀分布——runif()
二项分布——rbinom()
几何分布——rgeom()
写入数据
将数据写入数据框
> x= data.frame(num,x1,x2,x3)
> num x1 x2 x3
1 10378001 93 85 84
2 10378002 100 79 89
3 10378003 98 88 75
4 10378004 98 87 74
5 10378005 92 85 85
6 10378006 98 71 86
7 10378007 98 90 81
8 10378008 89 73 84
9 10378009 90 86 71
10 10378010 98 90 70
11 10378011 100 90 79
12 10378012 89 82 85
将数据写入硬盘
> write.table(x,file = "F:/mark.txt",col.names = F,row.names = F,sep="")
将数据框写入到硬盘的txt文件中