一些R命令(4)

> z=seq(-1,10,length=100)
> z=seq(-1,10,len=100)
> z
  [1] -1.0000000 -0.8888889 -0.7777778 -0.6666667
  [5] -0.5555556 -0.4444444 -0.3333333 -0.2222222
  [9] -0.1111111  0.0000000  0.1111111  0.2222222
 [13]  0.3333333  0.4444444  0.5555556  0.6666667
 [17]  0.7777778  0.8888889  1.0000000  1.1111111
 [21]  1.2222222  1.3333333  1.4444444  1.5555556
 [25]  1.6666667  1.7777778  1.8888889  2.0000000
 [29]  2.1111111  2.2222222  2.3333333  2.4444444
 [33]  2.5555556  2.6666667  2.7777778  2.8888889
 [37]  3.0000000  3.1111111  3.2222222  3.3333333
 [41]  3.4444444  3.5555556  3.6666667  3.7777778
 [45]  3.8888889  4.0000000  4.1111111  4.2222222
 [49]  4.3333333  4.4444444  4.5555556  4.6666667
 [53]  4.7777778  4.8888889  5.0000000  5.1111111
 [57]  5.2222222  5.3333333  5.4444444  5.5555556
 [61]  5.6666667  5.7777778  5.8888889  6.0000000
 [65]  6.1111111  6.2222222  6.3333333  6.4444444
 [69]  6.5555556  6.6666667  6.7777778  6.8888889
 [73]  7.0000000  7.1111111  7.2222222  7.3333333
 [77]  7.4444444  7.5555556  7.6666667  7.7777778
 [81]  7.8888889  8.0000000  8.1111111  8.2222222
 [85]  8.3333333  8.4444444  8.5555556  8.6666667
 [89]  8.7777778  8.8888889  9.0000000  9.1111111
 [93]  9.2222222  9.3333333  9.4444444  9.5555556
 [97]  9.6666667  9.7777778  9.8888889 10.0000000
> x=rep(1:3,3)
> x
[1] 1 2 3 1 2 3 1 2 3
> x=rep(3:5,1:3)
> x
[1] 3 4 4 5 5 5
> x=rep(c(1,10),c(4,5))
> x
[1]  1  1  1  1 10 10 10 10 10
> w=c(1,3,x,z)
> w
  [1]  1.0000000  3.0000000  1.0000000  1.0000000
  [5]  1.0000000  1.0000000 10.0000000 10.0000000
  [9] 10.0000000 10.0000000 10.0000000 -1.0000000
 [13] -0.8888889 -0.7777778 -0.6666667 -0.5555556
 [17] -0.4444444 -0.3333333 -0.2222222 -0.1111111
 [21]  0.0000000  0.1111111  0.2222222  0.3333333
 [25]  0.4444444  0.5555556  0.6666667  0.7777778
 [29]  0.8888889  1.0000000  1.1111111  1.2222222
 [33]  1.3333333  1.4444444  1.5555556  1.6666667
 [37]  1.7777778  1.8888889  2.0000000  2.1111111
 [41]  2.2222222  2.3333333  2.4444444  2.5555556
 [45]  2.6666667  2.7777778  2.8888889  3.0000000
 [49]  3.1111111  3.2222222  3.3333333  3.4444444
 [53]  3.5555556  3.6666667  3.7777778  3.8888889
 [57]  4.0000000  4.1111111  4.2222222  4.3333333
 [61]  4.4444444  4.5555556  4.6666667  4.7777778
 [65]  4.8888889  5.0000000  5.1111111  5.2222222
 [69]  5.3333333  5.4444444  5.5555556  5.6666667
 [73]  5.7777778  5.8888889  6.0000000  6.1111111
 [77]  6.2222222  6.3333333  6.4444444  6.5555556
 [81]  6.6666667  6.7777778  6.8888889  7.0000000
 [85]  7.1111111  7.2222222  7.3333333  7.4444444
 [89]  7.5555556  7.6666667  7.7777778  7.8888889
 [93]  8.0000000  8.1111111  8.2222222  8.3333333
 [97]  8.4444444  8.5555556  8.6666667  8.7777778
[101]  8.8888889  9.0000000  9.1111111  9.2222222
[105]  9.3333333  9.4444444  9.5555556  9.6666667
[109]  9.7777778  9.8888889 10.0000000
> x
[1]  1  1  1  1 10 10 10 10 10
> z
  [1] -1.0000000 -0.8888889 -0.7777778 -0.6666667
  [5] -0.5555556 -0.4444444 -0.3333333 -0.2222222
  [9] -0.1111111  0.0000000  0.1111111  0.2222222
 [13]  0.3333333  0.4444444  0.5555556  0.6666667
 [17]  0.7777778  0.8888889  1.0000000  1.1111111
 [21]  1.2222222  1.3333333  1.4444444  1.5555556
 [25]  1.6666667  1.7777778  1.8888889  2.0000000
 [29]  2.1111111  2.2222222  2.3333333  2.4444444
 [33]  2.5555556  2.6666667  2.7777778  2.8888889
 [37]  3.0000000  3.1111111  3.2222222  3.3333333
 [41]  3.4444444  3.5555556  3.6666667  3.7777778
 [45]  3.8888889  4.0000000  4.1111111  4.2222222
 [49]  4.3333333  4.4444444  4.5555556  4.6666667
 [53]  4.7777778  4.8888889  5.0000000  5.1111111
 [57]  5.2222222  5.3333333  5.4444444  5.5555556
 [61]  5.6666667  5.7777778  5.8888889  6.0000000
 [65]  6.1111111  6.2222222  6.3333333  6.4444444
 [69]  6.5555556  6.6666667  6.7777778  6.8888889
 [73]  7.0000000  7.1111111  7.2222222  7.3333333
 [77]  7.4444444  7.5555556  7.6666667  7.7777778
 [81]  7.8888889  8.0000000  8.1111111  8.2222222
 [85]  8.3333333  8.4444444  8.5555556  8.6666667
 [89]  8.7777778  8.8888889  9.0000000  9.1111111
 [93]  9.2222222  9.3333333  9.4444444  9.5555556
 [97]  9.6666667  9.7777778  9.8888889 10.0000000
> x=rep(0,109)
> x=rep(0,10)
> x
 [1] 0 0 0 0 0 0 0 0 0 0
> z=1:3
> z
[1] 1 2 3
> x+z
 [1] 1 2 3 1 2 3 1 2 3 1
Warning message:
In x + z : longer object length is not a multiple of shorter object length
> x*z
 [1] 0 0 0 0 0 0 0 0 0 0
Warning message:
In x * z : longer object length is not a multiple of shorter object length
> rev(x)
 [1] 0 0 0 0 0 0 0 0 0 0
> x
 [1] 0 0 0 0 0 0 0 0 0 0
> x=rev(x)
> x
 [1] 0 0 0 0 0 0 0 0 0 0
> x=1:10
> x
 [1]  1  2  3  4  5  6  7  8  9 10
> rev(x)
 [1] 10  9  8  7  6  5  4  3  2  1
> z=c("no cat","has","nine","tails")
> z
[1] "no cat" "has"    "nine"   "tails" 
> z[1]
[1] "no cat"
> z[1]=='no cat'
[1] TRUE
> z[7]
[1] NA
> z[7]='8'
> z[7]
[1] "8"
> z
[1] "no cat" "has"    "nine"   "tails"  NA      
[6] NA       "8"     
> z=NULL
> z
NULL
> z[c(1,3,5)]=1:3
> z
[1]  1 NA  2 NA  3
> rnorm(10)
 [1] -1.5621936 -0.6411381 -0.5357379  1.3159083
 [5] -0.8743204  0.9756946 -0.8399110 -1.2969653
 [9] -0.1606661  0.1368504
> rnorm(10)[2,5]
Error in rnorm(10)[2, 5] : incorrect number of dimensions
> rnorm(10)[c(2,5)]
[1] 1.054742 0.848805
> z[-c(1,3)]
[1] NA NA  3
> z
[1]  1 NA  2 NA  3
> z=sample(1:100,10)
> z
 [1] 12 14  9 56 32 19 68 35 88 83
> which(z==max(z))
[1] 9
> #最大值的下标
> x=sample(1:100,12)
> all(x>0)
[1] TRUE
> all(x!=0)
[1] TRUE
> any(x>0)
[1] TRUE
> (1:10)[x>0]
 [1]  1  2  3  4  5  6  7  8  9 10 NA NA
> (1:20)[x>0]
 [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16
[17] 17 18 19 20
> x
 [1] 16 60 27 72 11 66 20 26  3 83 34 22
> diff(x)
 [1]  44 -33  45 -61  55 -46   6 -23  80 -49 -12
> diff(x,lag=2)
 [1]  11  12 -16  -6   9 -40 -17  57  31 -61
> x
 [1] 16 60 27 72 11 66 20 26  3 83 34 22
> diff(diff(x))
 [1]  -77   78 -106  116 -101   52  -29  103 -129
[10]   37
> x
 [1] 16 60 27 72 11 66 20 26  3 83 34 22
> diff(x,lag=2)
 [1]  11  12 -16  -6   9 -40 -17  57  31 -61
> x=matrix(sample(1:100,20),4,5)
> x
     [,1] [,2] [,3] [,4] [,5]
[1,]   44   62   38   91   43
[2,]   90   57   77   73   17
[3,]   14   47    9   15   64
[4,]   29   95   52   66   65
> 2*z
 [1]  24  28  18 112  64  38 136  70 176 166
> 2*x
     [,1] [,2] [,3] [,4] [,5]
[1,]   88  124   76  182   86
[2,]  180  114  154  146   34
[3,]   28   94   18   30  128
[4,]   58  190  104  132  130
> x+5
     [,1] [,2] [,3] [,4] [,5]
[1,]   49   67   43   96   48
[2,]   95   62   82   78   22
[3,]   19   52   14   20   69
[4,]   34  100   57   71   70
> y=matrix(sample(1:100,20),5,4)
> y
     [,1] [,2] [,3] [,4]
[1,]   56   91   98   97
[2,]   53   93   49   81
[3,]   57    4   27   74
[4,]   32   30   13   45
[5,]    9   33   38    5
> x+t(y)
     [,1] [,2] [,3] [,4] [,5]
[1,]  100  115   95  123   52
[2,]  181  150   81  103   50
[3,]  112   96   36   28  102
[4,]  126  176  126  111   70
> z=x*y
Error in x * y : non-conformable arrays
> z=x%*%y
> z
      [,1]  [,2]  [,3]  [,4]
[1,] 11215 14071 11193 16412
[2,] 14939 16550 15287 22415
[3,]  4844  8243  6545  6826
[4,] 12320 15807 12229 17651
> z1=solve(z)
> z1
             [,1]          [,2]          [,3]
[1,] -0.007011133  0.0009051074 -5.647932e-04
[2,]  0.001505676 -0.0005031417  8.003892e-05
[3,] -0.001458936  0.0005505550  4.815895e-04
[4,]  0.004556017 -0.0005626027 -1.112013e-05
              [,4]
[1,]  0.0055880122
[2,] -0.0007919996
[3,]  0.0004711367
[4,] -0.0034608070
> z
      [,1]  [,2]  [,3]  [,4]
[1,] 11215 14071 11193 16412
[2,] 14939 16550 15287 22415
[3,]  4844  8243  6545  6826
[4,] 12320 15807 12229 17651
> solve(z,0)
Error in solve.default(z, 0) : 
  'b' (1 x 1) must be compatible with 'a' (4 x 4)
> solve(z,c(0,0,0,0))
[1] 0 0 0 0
> solve(z,c(0,0,0,1))
[1]  0.0055880122 -0.0007919996  0.0004711367
[4] -0.0034608070
> zz=solve(z,c(0,0,0,1))
> z%*%zz
     [,1]
[1,]    0
[2,]    0
[3,]    0
[4,]    1
> x
     [,1] [,2] [,3] [,4] [,5]
[1,]   44   62   38   91   43
[2,]   90   57   77   73   17
[3,]   14   47    9   15   64
[4,]   29   95   52   66   65
> nrow(x)
[1] 4
> ncol(x);dim(x)
[1] 5
[1] 4 5
> x=matrix(rnorm(24),4,6)
> x
           [,1]       [,2]       [,3]        [,4]
[1,] -0.7662853  0.8813924 -0.4186419  0.34246264
[2,] -3.1038885  0.4054194  0.1123923  1.77986970
[3,] -1.1486421 -0.8611999 -0.7561590 -1.66330533
[4,] -0.8120099  0.3766484  0.1055406 -0.03126585
           [,5]       [,6]
[1,] -1.2772532  0.6517394
[2,] -0.6107004  0.6032211
[3,] -0.8060121 -0.8208806
[4,] -0.2218171  1.7182027
> x[c(2,1)]
[1] -3.1038885 -0.7662853
> x[c(2,1),]
           [,1]      [,2]       [,3]      [,4]
[1,] -3.1038885 0.4054194  0.1123923 1.7798697
[2,] -0.7662853 0.8813924 -0.4186419 0.3424626
           [,5]      [,6]
[1,] -0.6107004 0.6032211
[2,] -1.2772532 0.6517394
> c(2,1)
[1] 2 1
> c(2,1;2,1)
Error: unexpected ';' in "c(2,1;"
> x[,c(1,3)]
           [,1]       [,2]
[1,] -0.7662853 -0.4186419
[2,] -3.1038885  0.1123923
[3,] -1.1486421 -0.7561590
[4,] -0.8120099  0.1055406
> x
           [,1]       [,2]       [,3]        [,4]
[1,] -0.7662853  0.8813924 -0.4186419  0.34246264
[2,] -3.1038885  0.4054194  0.1123923  1.77986970
[3,] -1.1486421 -0.8611999 -0.7561590 -1.66330533
[4,] -0.8120099  0.3766484  0.1055406 -0.03126585
           [,5]       [,6]
[1,] -1.2772532  0.6517394
[2,] -0.6107004  0.6032211
[3,] -0.8060121 -0.8208806
[4,] -0.2218171  1.7182027
> x[2,1]
[1] -3.103888
> x[x[,1]>0,1]
numeric(0)
> x[x[,1]>0,1]#第一列大于0的元素
numeric(0)
> sum(x[,1]>0)#第一列大于0的元素的数目
[1] 0
> sum(x[,1]<=0)#第一列不大于0的元素的数目
[1] 4
> x[,-c(1,3)]#除去第1和第3列的X
           [,1]        [,2]       [,3]       [,4]
[1,]  0.8813924  0.34246264 -1.2772532  0.6517394
[2,]  0.4054194  1.77986970 -0.6107004  0.6032211
[3,] -0.8611999 -1.66330533 -0.8060121 -0.8208806
[4,]  0.3766484 -0.03126585 -0.2218171  1.7182027
> x
           [,1]       [,2]       [,3]        [,4]
[1,] -0.7662853  0.8813924 -0.4186419  0.34246264
[2,] -3.1038885  0.4054194  0.1123923  1.77986970
[3,] -1.1486421 -0.8611999 -0.7561590 -1.66330533
[4,] -0.8120099  0.3766484  0.1055406 -0.03126585
           [,5]       [,6]
[1,] -1.2772532  0.6517394
[2,] -0.6107004  0.6032211
[3,] -0.8060121 -0.8208806
[4,] -0.2218171  1.7182027
> diag(x)
[1] -0.76628527  0.40541938 -0.75615897 -0.03126585
> diag(5)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    1    0    0    0
[3,]    0    0    1    0    0
[4,]    0    0    0    1    0
[5,]    0    0    0    0    1
> diag(1:5)
     [,1] [,2] [,3] [,4] [,5]
[1,]    1    0    0    0    0
[2,]    0    2    0    0    0
[3,]    0    0    3    0    0
[4,]    0    0    0    4    0
[5,]    0    0    0    0    5
> x=[x[,1]>0 & x[,3]<=1,1]
Error: unexpected '[' in "x=["
> [x[,1]>0 & x[,3]<=1,1]
Error: unexpected '[' in "["
> x[x[,1]>0 & x[,3]<=1,1]
numeric(0)
> x
           [,1]       [,2]       [,3]        [,4]
[1,] -0.7662853  0.8813924 -0.4186419  0.34246264
[2,] -3.1038885  0.4054194  0.1123923  1.77986970
[3,] -1.1486421 -0.8611999 -0.7561590 -1.66330533
[4,] -0.8120099  0.3766484  0.1055406 -0.03126585
           [,5]       [,6]
[1,] -1.2772532  0.6517394
[2,] -0.6107004  0.6032211
[3,] -0.8060121 -0.8208806
[4,] -0.2218171  1.7182027
> x[x[,1]<=0 & x[,3]<=1,1]
[1] -0.7662853 -3.1038885 -1.1486421 -0.8120099
> x[x[,1]<=-1 & x[,3]<=1,1]
[1] -3.103888 -1.148642
> x[!x[,2]<.51,1]
[1] -0.7662853
> apply(x,1,mean)#对行求均值
[1] -0.09776431 -0.13561440 -1.00936651  0.18921647
> apply(x,2,mean)#对列求均值
[1] -1.4577064  0.2005651 -0.2392170  0.1069403
[5] -0.7289457  0.5380706
> x=matrix(rnorm(24),4,6)
> x
             [,1]       [,2]      [,3]       [,4]
[1,] -0.003778089  0.3615753  1.162192 0.62247326
[2,]  1.442269237 -0.9279731 -1.651718 1.49205463
[3,] -0.388950037  0.4068013 -1.627296 0.16206104
[4,]  0.067871220 -0.7340692 -1.060323 0.01475986
           [,5]       [,6]
[1,]  0.2632410 -0.2176514
[2,]  0.4120724  0.9368314
[3,] -0.8738709 -2.4646663
[4,] -2.7580618  1.2128114
> x[lower.tri(x)]=0;
> x
             [,1]       [,2]      [,3]       [,4]
[1,] -0.003778089  0.3615753  1.162192 0.62247326
[2,]  0.000000000 -0.9279731 -1.651718 1.49205463
[3,]  0.000000000  0.0000000 -1.627296 0.16206104
[4,]  0.000000000  0.0000000  0.000000 0.01475986
           [,5]       [,6]
[1,]  0.2632410 -0.2176514
[2,]  0.4120724  0.9368314
[3,] -0.8738709 -2.4646663
[4,] -2.7580618  1.2128114
> x[upper.tri(x)]=0;
> x
             [,1]       [,2]      [,3]       [,4]
[1,] -0.003778089  0.0000000  0.000000 0.00000000
[2,]  0.000000000 -0.9279731  0.000000 0.00000000
[3,]  0.000000000  0.0000000 -1.627296 0.00000000
[4,]  0.000000000  0.0000000  0.000000 0.01475986
     [,5] [,6]
[1,]    0    0
[2,]    0    0
[3,]    0    0
[4,]    0    0

猜你喜欢

转载自blog.csdn.net/feynman1999/article/details/81137307