1、设x为一个长为100的整数向量。比如,set.seed(1234) x<-floor(100runif(100))
#set.seed(1234):set.seed()函数是为了保证你随机生成的随机数前后一致.set.seed()括号里面的参数可以是任意数字,是代表你设置的第几号种子而已,不会参与运算,是个标记而已。
#runif()函数:默认生成0-1之间符合均匀分布的随机数。例如runif(100):随机生成100个0-1之间符合均匀分布的随机数。
#floor函数():向下取整
#x<-floor(100runif(100)):用runif()函数随机生成100个0到1之间符合正态分布的随机数,将这0到1之间的100的随机数扩大100倍后向下取整。
(1)显示x第21到30号元素。
(2)把x第31,35,39号元素赋值为0
(3)显示x中除了第1号元素和第50号元素之外的子集。
(4)列出x中个位数等于3的元素。
(5)列出x中个位数等于3的元素的下标位置。Hint:use which()
(6)给x的每一个元素加上名字,为x1到x100.
(7)求x的平均值并求每一个元素减去平均值后的离差,计算x元素的平方和及离差平方和。
(8)把x从小到大排序。计算x的10%分位数到90%分位数之间的距离。Hint.use quantile()
解(1)
x<-floor(100*runif(100))
x[21:30] #x[]表示向量索引,需要注意[]内是向量和负数以及逻辑型向量的情况,负数表示排除绝对值下标的索引
[1] 31 30 15 3 21 81 52 91 83 4
(2)
x[c(21,35,39)]=c(0,0,0)
x
[1] 11 62 60 62 86 64 0 23 66 51 69 54 28 92 29 83 28 26 18 23 0 30 15 3 21 81 52 91 83 4 45 26 30 50 0 75 20 25 0 80 55 64 31 62 32 50 67 48 24 76 7 30 71 50 15 50 49 75 17 84 86
[62] 4 31 1 23 70 30 50 5 56 12 89 1 78 8 51 38 7 32 66 92 47 14 54 19 89 38 31 16 89 16 90 13 13 10 51 30 2 30 74
(3)
x[-c(50)]
[1] 11 62 60 62