数据的R语言表示---数据框

矩阵形式,但是列可以不同数据类型
每列是一个变量,每行是一个观测值

x1=c(10,13,45,26,23,12,24,78,23,43,31,56)
x2=c(20,65,32,32,27,87,60,13,42,51,77,35)
x1
[1] 10 13 45 26 23 12 24 78 23 43 31 56
x2
[1] 20 65 32 32 27 87 60 13 42 51 77 35
x=data.frame(x1,x2)
x
x1 x2
1 10 20
2 13 65
3 45 32
4 26 32
5 23 27
6 12 87
7 24 60
8 78 13
9 23 42
10 43 51
11 31 77
12 56 35

(x=read.table(“abc.txt”))
V1 V2
1 175 67
2 183 75
3 165 56
4 145 45
5 178 67
6 187 90
7 156 43
8 176 58
9 173 60
文本或Excel 的数据均可通过剪切板操作
y<-read.table(“clipboard”,header=F)
y
V1 V2
1 175 67
2 183 75
3 165 56
4 145 45
5 178 67
6 187 90
7 156 43
8 176 58
9 173 60
w<-read.table(“test.prn”,header=T)

读取Excel 文件数据
方法1:先把Excel 另存为空格分隔的prn 文本格式再读

for循环

for ( i in 1:59){a[i]=i*2+3}
a
[1] 5 7 9 11 13 15 17 19 21 23 25 27 29
[14] 31 33 35 37 39 41 43 45 47 49 51 53 55
[27] 57 59 61 63 65 67 69 71 73 75 77 79 81
[40] 83 85 87 89 91 93 95 97 99 101 103 105 107
[53] 109 111 113 115 117 119 121

while语句
错误: 找不到对象’while语句’
a[1]=5
i=1
while(a[i]<121) { i=i+1;a[i]=a[i-1]+2}
a[i]
[1] 121
a
[1] 5 7 9 11 13 15 17 19 21 23 25 27 29
[14] 31 33 35 37 39 41 43 45 47 49 51 53 55
[27] 57 59 61 63 65 67 69 71 73 75 77 79 81
[40] 83 85 87 89 91 93 95 97 99 101 103 105 107
[53] 109 111 113 115 117 119 121

用runif 和 rnorm
错误: 意外的符号 in “用runif 和”
x1=round(runif(100,min=80,max=100))
x1
[1] 97 84 83 98 88 80 99 89 89 95 94 99 81
[14] 90 94 95 83 85 96 99 82 87 93 88 93 83
[27] 92 85 94 96 93 89 84 99 82 88 97 88 86
[40] 80 83 83 92 85 95 96 89 92 81 99 95 96
[53] 99 82 86 95 89 97 82 96 87 88 88 96 89
[66] 90 99 87 86 81 86 95 87 90 91 88 92 100
[79] 82 99 82 98 82 83 81 96 99 87 95 96 84
[92] 97 85 84 99 91 87 90 87 80
x2=round(rnorm(100,mean=80,sd=7))
x2
[1] 67 74 83 80 79 81 79 85 75 81 93 75 73 76 76 72 80 78
[19] 76 95 87 81 76 66 80 79 95 77 85 72 75 90 81 81 88 78
[37] 84 76 83 88 77 67 85 87 88 80 86 82 87 57 84 79 82 86
[55] 82 88 71 68 73 76 75 81 89 64 65 94 93 87 86 87 88 98
[73] 82 86 90 79 82 72 73 88 78 81 77 71 84 81 71 92 77 87
[91] 73 80 79 90 89 86 99 80 74 78
x3=round(rnorm(100,mean=83,sd=18))
x3
[1] 89 57 73 67 108 56 75 88 119 76 87 108 77
[14] 72 66 94 60 104 60 104 99 86 94 78 81 57
[27] 82 115 108 87 75 34 41 91 95 69 92 82 62
[40] 104 85 109 112 100 67 52 110 90 56 77 98 23
[53] 38 66 97 76 81 85 58 107 84 80 79 80 83
[66] 99 73 99 113 102 94 100 95 107 60 46 101 80
[79] 72 86 89 59 96 84 86 74 71 74 64 103 109
[92] 72 95 61 101 115 45 94 97 98
x3[which(x3>100)]=100
x3
[1] 89 57 73 67 100 56 75 88 100 76 87 100 77
[14] 72 66 94 60 100 60 100 99 86 94 78 81 57
[27] 82 100 100 87 75 34 41 91 95 69 92 82 62
[40] 100 85 100 100 100 67 52 100 90 56 77 98 23
[53] 38 66 97 76 81 85 58 100 84 80 79 80 83
[66] 99 73 99 100 100 94 100 95 100 60 46 100 80
[79] 72 86 89 59 96 84 86 74 71 74 64 100 100
[92] 72 95 61 100 100 45 94 97 98

num=1:100
num
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13
[14] 14 15 16 17 18 19 20 21 22 23 24 25 26
[27] 27 28 29 30 31 32 33 34 35 36 37 38 39
[40] 40 41 42 43 44 45 46 47 48 49 50 51 52
[53] 53 54 55 56 57 58 59 60 61 62 63 64 65
[66] 66 67 68 69 70 71 72 73 74 75 76 77 78
[79] 79 80 81 82 83 84 85 86 87 88 89 90 91
[92] 92 93 94 95 96 97 98 99 100
x=data.frame(num,x1,x2,x3)
x
num x1 x2 x3
1 1 98 85 117
2 2 86 84 70
3 3 92 77 105
4 4 92 78 118
5 5 89 80 64
6 6 82 92 91
7 7 91 92 77
8 8 92 93 69
9 9 93 82 53
10 10 86 79 97
11 11 81 73 85
12 12 89 74 43
13 13 88 87 72
14 14 88 82 64
15 15 99 67 94
16 16 86 83 97
17 17 99 86 69
18 18 92 81 105
19 19 81 70 94
20 20 96 89 97
21 21 100 82 100
22 22 100 83 76
23 23 82 82 110
24 24 95 80 102
25 25 84 84 63
26 26 90 86 40
27 27 87 70 54

write.table(x,file=”mark.txt”,col.names=F,row.names=F,sep=” “)

x=data.frame(num,x1,x2,x3)
x
num x1 x2 x3
1 10378001 98 85 117
2 10378002 86 84 70
3 10378003 92 77 105
4 10378004 92 78 118
5 10378005 89 80 64
6 10378006 82 92 91

num=seq(10378001,10378100)
num
[1] 10378001 10378002 10378003 10378004 10378005 10378006
[7] 10378007 10378008 10378009 10378010 10378011 10378012
[13] 10378013 10378014 10378015 10378016 10378017 10378018
[19] 10378019 10378020 10378021 10378022 10378023 10378024
[25] 10378025 10378026 10378027 10378028 10378029 10378030
[31] 10378031 10378032 10378033 10378034 10378035 10378036
计算平均值
mean(),colMeans(),apply()
mean(x)
[1] NA
警告信息:
In mean.default(x) : 参数不是数值也不是逻辑值:回覆NA
colMeans(x)
num x1 x2 x3
10378050.50 90.65 79.98 83.55

colMeans(x)[c(“x1”,”x2”,”x3”)]
x1 x2 x3
90.65 79.98 83.55
apply(x,2,mean)
num x1 x2 x3
10378050.50 90.65 79.98 83.55
* 求出没人总分*

ly(x[c("x1","x2","x3")],1,sum)
  [1] 300 240 274 288 233 265 260 254 228 262 239 206 247
 [14] 234 260 266 254 278 245 282 282 259 274 277 231 216
 [27] 211 261 301 278 275 247 248 287 249 245 281 265 250
 [40] 234 275 259 232 281 252 257 226 249 288 264 247 262
 [53] 255 254 265 229 272 226 223 246 299 217 259 250 240
 [66] 251 279 236 263 273 277 255 287 248 244 249 228 223
 [79] 284 273 278 252 268 229 257 233 189 253 233 246 253
 [92] 230 244 252 258 207 238 269 256 290
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值