0013-选择结构

1. 条件表达式if

x <- 24
if(x%%2==0) print("偶数")

## [1] "偶数"

x <- 23
if(x%%2==1) print("奇数")

## [1] "奇数"

x <- 24
y <- 9
if(x>y) print("x>y")

## [1] "x>y"

if(x<y) print("x<y")

a <- sample(1:10, 5)
a

## [1] 6 10 3 8 5

if(a>5) a=0

## Warning in if (a > 5) a = 0: 条件的长度大于一,因此只能用其第一元素

a

## [1] 0

x <- 6
if(x>0){
print(x)
print("当前数值大于0")
}

## [1] 6
## [1] "当前数值大于0"

x <- 6
if(x>0) print("x>0") else print("x<=0")

## [1] "x>0"

x <- -9
if (x>0) print("x>0") else print("x<0")

## [1] "x<0"

a <- runif(1,1,10)
b <- runif(1,1,10)
if (a>b){
print("a>b")
}else{
print("a<=b")
}

print("test")

## [1] "a>b"

## [1] "test"

2. if…else的简化版ifelse函数

x <- 3
y <- ifelse(x>0,x,-x)
y

## [1] 3

x <- -3
y <- ifelse(x>0,x,-x)
y

## [1] 3

x <--3
y <- ifelse(x>0,"x>0",ifelse(x==0,"x=0","x<0"))
y

## [1] "x<0"

x <- c("合格","不合格","淘汰","残次品","次品","合格")
b <- ifelse(x=="合格","合格","次品")
b

## [1] "合格" "次品" "次品" "次品" "次品" "合格"

3. 多分支选择结构if_else_if_else…

x <- c("tianjin","guangzhou","beijing")
if ("Tianjin" %in% x){
print("Tianjin exist")
}else if("tianjin" %in% x){
print("tianjin exist")
}else{
print("nothing to find")
}

## [1] "tianjin exist"

4. switch结构

switch(1, mean(1:10), rnorm(4)) # 执行mean(1:10)

## [1] 5.5

switch(2, mean(1:10), rnorm(4)) # 执行rnorm(4)

## [1] -0.5767823 -1.1685063 0.8742913 -0.6632414

x <- 2
switch(x, "tianjin","beijing","guangzhou")

## [1] "beijing"

a <- sample(-10:10,5)
a

## [1] -1 -4 -7 8 4

switch(1,a,0,-a)

## [1] -1 -4 -7 8 4

switch (2,a,0,-a)

## [1] 0

switch(3,a,0,-a)

## [1] 1 4 7 -8 -4

0014-循环结构

1. for循环

for (word in c("li","li","zong")){
print(word)
}

## [1] "li"
## [1] "li"
## [1] "zong"

for (i in 1:10){
print(i)
}

## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
## [1] 8
## [1] 9
## [1] 10

for (i in 1:10){
cat(i)
}

## 12345678910

for (i in 1:10){
print(1:i)
}

## [1] 1
## [1] 1 2
## [1] 1 2 3
## [1] 1 2 3 4
## [1] 1 2 3 4 5
## [1] 1 2 3 4 5 6
## [1] 1 2 3 4 5 6 7
## [1] 1 2 3 4 5 6 7 8
## [1] 1 2 3 4 5 6 7 8 9
## [1] 1 2 3 4 5 6 7 8 9 10

for (i in 1:10){
cat(1:i)
}

## 11 21 2 31 2 3 41 2 3 4 51 2 3 4 5 61 2 3 4 5 6 71 2 3 4 5 6 7 81 2 3 4 5 6 7 8 91 2 3 4 5 6 7 8 9 10

for (i in 1:10){
cat(1:i)
cat("\n")
}

## 1
## 1 2
## 1 2 3
## 1 2 3 4
## 1 2 3 4 5
## 1 2 3 4 5 6
## 1 2 3 4 5 6 7
## 1 2 3 4 5 6 7 8
## 1 2 3 4 5 6 7 8 9
## 1 2 3 4 5 6 7 8 9 10

a <- vector(length = 10)
a

## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

a <- c(1:10)
for (i in 1:10){
a[i] <- a[i] * 10
}
a

## [1] 10 20 30 40 50 60 70 80 90 100

for (i in seq(from=5, to=25, by=5)){
print(i)
}

## [1] 5
## [1] 10
## [1] 15
## [1] 20
## [1] 25

for (i in seq(from=5, to=25, by=5)){
cat(i," ")
}

## 5 10 15 20 25

for (i in seq(from=5, to=25, by=5)){
cat(i^2, "~~~")
}

## 25 ~~~100 ~~~225 ~~~400 ~~~625 ~~~

2. 斐波那切数列的实现

num.fibs <- 50
r = numeric(num.fibs)
r[1] = 1
r[2] = 1
for (i in 3:num.fibs){
r[i] = r[i-1] + r[i-2]
}
r

## [1] 1 1 2 3 5 8
## [7] 13 21 34 55 89 144
## [13] 233 377 610 987 1597 2584
## [19] 4181 6765 10946 17711 28657 46368
## [25] 75025 121393 196418 317811 514229 832040
## [31] 1346269 2178309 3524578 5702887 9227465 14930352
## [37] 24157817 39088169 63245986 102334155 165580141 267914296
## [43] 433494437 701408733 1134903170 1836311903 2971215073 4807526976
## [49] 7778742049 12586269025

3. max与min的算法实现

a <- sample(10:99,10)
a

## [1] 37 94 93 31 43 44 66 21 54 27

myMax = a[1]
for (i in 2:length(a)) {
if (a[i]>myMax){
myMax=a[i]
}
}
myMax

## [1] 94

myMin = a[1]
for (i in 2:length(a)) {
if (a[i]<myMin){
myMin=a[i]
}
}
myMin

## [1] 21

4. 循环遍历matrix矩阵

a <- matrix(nrow = 5, ncol = 6)
a

## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] NA NA NA NA NA NA
## [2,] NA NA NA NA NA NA
## [3,] NA NA NA NA NA NA
## [4,] NA NA NA NA NA NA
## [5,] NA NA NA NA NA NA

n <-1
for (i in 1:5){
for (j in 1:6){
a[i,j] <-n
n <- n +1
}
}
a

## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 1 2 3 4 5 6
## [2,] 7 8 9 10 11 12
## [3,] 13 14 15 16 17 18
## [4,] 19 20 21 22 23 24
## [5,] 25 26 27 28 29 30

5. 九九乘法表cat练习

for (i in 1:9){
for (j in 1:i){
cat(i*j," ")
}
cat("\n")
}

## 1
## 2 4
## 3 6 9
## 4 8 12 16
## 5 10 15 20 25
## 6 12 18 24 30 36
## 7 14 21 28 35 42 49
## 8 16 24 32 40 48 56 64
## 9 18 27 36 45 54 63 72 81

for (i in 1:9){
for (j in 1:i){
cat(j," ")
}
cat("\n")
}

## 1
## 1 2
## 1 2 3
## 1 2 3 4
## 1 2 3 4 5
## 1 2 3 4 5 6
## 1 2 3 4 5 6 7
## 1 2 3 4 5 6 7 8
## 1 2 3 4 5 6 7 8 9

for (i in 1:9){
for (j in 1:i){
cat(j,"x",i,"=",i*j,"\t")
}
cat("\n")
}

## 1 x 1 = 1
## 1 x 2 = 2 2 x 2 = 4
## 1 x 3 = 3 2 x 3 = 6 3 x 3 = 9
## 1 x 4 = 4 2 x 4 = 8 3 x 4 = 12 4 x 4 = 16
## 1 x 5 = 5 2 x 5 = 10 3 x 5 = 15 4 x 5 = 20 5 x 5 = 25
## 1 x 6 = 6 2 x 6 = 12 3 x 6 = 18 4 x 6 = 24 5 x 6 = 30 6 x 6 = 36
## 1 x 7 = 7 2 x 7 = 14 3 x 7 = 21 4 x 7 = 28 5 x 7 = 35 6 x 7 = 42 7 x 7 = 49
## 1 x 8 = 8 2 x 8 = 16 3 x 8 = 24 4 x 8 = 32 5 x 8 = 40 6 x 8 = 48 7 x 8 = 56 8 x 8 = 64
## 1 x 9 = 9 2 x 9 = 18 3 x 9 = 27 4 x 9 = 36 5 x 9 = 45 6 x 9 = 54 7 x 9 = 63 8 x 9 = 72 9 x 9 = 81

6. while循环

a <- 10
while (a<14) {
print(a)
a <- a + 1
}

## [1] 10
## [1] 11
## [1] 12
## [1] 13

a <- 10
while (a != 0) {
a <- a - 1
cat("倒数",a,"秒!\n")
}
print("START")

## 倒数 9 秒!
## 倒数 8 秒!
## 倒数 7 秒!
## 倒数 6 秒!
## 倒数 5 秒!
## 倒数 4 秒!
## 倒数 3 秒!
## 倒数 2 秒!
## 倒数 1 秒!
## 倒数 0 秒!
## [1] "START"

7. repeat语句-使用频率较低

repeat要结合if和break使用 repeat不遇到break就一直循环下去

f = 1
f[2] = 1
i = 1
repeat{
f[i+2] = f[i] + f[i+1]
i = i + 1
if (i > 30)
break
}
f

## [1] 1 1 2 3 5 8 13 21 34
## [10] 55 89 144 233 377 610 987 1597 2584
## [19] 4181 6765 10946 17711 28657 46368 75025 121393 196418
## [28] 317811 514229 832040 1346269 2178309

0015-函数

1. 函数的基础

a = 10
b = 10
f <- function(x,y){
x+y
}
c <- f(a,b)
c

## [1] 20

2. 默认参数

f <- function(x,y){
x+y
}
f(1,2)

## [1] 3

# f(1)

定义几个参数就需要写几个值进去,或者可以补充默认值

3. 任意个参数

f <- function(...){
a = list(...)
for (i in a)
cat(i,"\n")
}
f(31231,12313123,51314,1231341)

## 31231
## 12313123
## 51314
## 1231341

f <- function(w,...){
a = list(...)
w = w*w
cat(w,"\n")
for (i in a)
cat(i,"\n")
}
f(9,12313123,51314,1231341)

## 81
## 12313123
## 51314
## 1231341

4. 关于return的细节

f <- function(x){
return(x^2 + 3)
}
f(5)

## [1] 28

f <- function(x){
x^2 + 3
}
f(5)

## [1] 28

所以区别是什么呢? 没啥特别的区别~

但是function区块的代码,一旦遇到return就终止函数开始返回值,这可以算一个区别

r <- function(a){
if (a>0) return(a) else return(a*a)
}
r(2)

## [1] 2

r(-4)

## [1] 16

5. sapply函数

a <- c(1:7)
sqrt(a)

## [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751

a <- c(1:7)
sapply(a,sqrt)

## [1] 1.000000 1.414214 1.732051 2.000000 2.236068 2.449490 2.645751

sapply函数类似pandas的map,sapply的输入函数也可以使用function自定义函数

0016-向量案例集

1. 睡眠时间

  • 例题: 统计某校小学生的睡眠时间,如果睡眠时间小于10小时,则认为睡眠时间是不足的. 睡眠时间如下, 统计睡眠不足的学生人数 10, 9, 10, 8, 8, 13, 10, 10, 10, 12

a <- c(10, 9, 10, 8, 8, 13, 10, 10, 10, 12)
sum(a<10)

## [1] 3

  • 例题: 接着上体,取出小学生睡眠时间的中位数, 并将低于中位数的时间筛选出来

median(a)

## [1] 10

a[a<median(a)]

## [1] 9 8 8

此外还可以使用which函数来求解

a <- c(10, 9, 10, 8, 8, 13, 10, 10, 10, 12)
which(a<median(a))

## [1] 2 4 5

a[which(a<median(a))]

## [1] 9 8 8

2. 判断逻辑

  • 例题: 某原件的硬度单位应该在6~16之间,如果不在这个区间则被认为过软或过硬,是不合格的,某样本分布如下,判断不合格产品数 7, 9, 14, 15, 12, 11, 5, 17, 18, 10

a <- c(7, 9, 14, 15, 12, 11, 5, 17, 18, 10)
b <- a[a<6 | a>16]
length(b)

## [1] 3

3. 取子集

  • 例题: 取前五个数和后五个数分别计算平均值 16, 18, 19, 20, 21, 22, 24, 27, 28, 30

a <- c(16, 18, 19, 20, 21, 22, 24, 27, 28, 30)
mean(a[1:5])

## [1] 18.8

mean(a[6:10])

## [1] 26.2

3. data()函数的使用

data()

输入这个命令就会跳出当前可用数据集 然后选择一个数据集使用how()来查看更多信息

  • 例题: R语言内置了precip数据集, 是美国70个城市的降雨量信息

?precip

输入上面这个命令会在Rstudio右下角的框框中显示这个数据集的信息

precip

## Mobile Juneau Phoenix Little Rock
## 67.0 54.7 7.0 48.5
## Los Angeles Sacramento San Francisco Denver
## 14.0 17.2 20.7 13.0
## Hartford Wilmington Washington Jacksonville
## 43.4 40.2 38.9 54.5
## Miami Atlanta Honolulu Boise
## 59.8 48.3 22.9 11.5
## Chicago Peoria Indianapolis Des Moines
## 34.4 35.1 38.7 30.8
## Wichita Louisville New Orleans Portland
## 30.6 43.1 56.8 40.8
## Baltimore Boston Detroit Sault Ste. Marie
## 41.8 42.5 31.0 31.7
## Duluth Minneapolis/St Paul Jackson Kansas City
## 30.2 25.9 49.2 37.0
## St Louis Great Falls Omaha Reno
## 35.9 15.0 30.2 7.2
## Concord Atlantic City Albuquerque Albany
## 36.2 45.5 7.8 33.4
## Buffalo New York Charlotte Raleigh
## 36.1 40.2 42.7 42.5
## Bismark Cincinnati Cleveland Columbus
## 16.2 39.0 35.0 37.0
## Oklahoma City Portland Philadelphia Pittsburg
## 31.4 37.6 39.9 36.2
## Providence Columbia Sioux Falls Memphis
## 42.8 46.4 24.7 49.1
## Nashville Dallas El Paso Houston
## 46.0 35.9 7.8 48.2
## Salt Lake City Burlington Norfolk Richmond
## 15.2 32.5 44.7 42.6
## Seattle Tacoma Spokane Charleston Milwaukee
## 38.8 17.4 40.8 29.1
## Cheyenne San Juan
## 14.6 59.2

这样就显示了70个city的降雨量信息

我们取出所有城市的名称

for (i in names(precip)){
cat(i,"\t")
}

## Mobile Juneau Phoenix Little Rock Los Angeles Sacramento San Francisco Denver Hartford Wilmington Washington Jacksonville Miami Atlanta Honolulu Boise Chicago Peoria Indianapolis Des Moines Wichita Louisville New Orleans Portland Baltimore Boston Detroit Sault Ste. Marie Duluth Minneapolis/St Paul Jackson Kansas City St Louis Great Falls Omaha Reno Concord Atlantic City Albuquerque Albany Buffalo New York Charlotte Raleigh Bismark Cincinnati Cleveland Columbus Oklahoma City Portland Philadelphia Pittsburg Providence Columbia Sioux Falls Memphis Nashville Dallas El Paso Houston Salt Lake City Burlington Norfolk Richmond Seattle Tacoma Spokane Charleston Milwaukee Cheyenne San Juan

下面我们想看第十个元素是啥

precip[10]

## Wilmington
## 40.2

反过来

precip["Wilmington"]

## Wilmington
## 40.2

0017-抛硬币试验

1. 抛硬币的概率实验

  • 例题: 分别抛三枚硬币, 三枚硬币的图案可能使一样的,也可能是不一样的, 一样的老板给你3元,不一样你给老板3元,这个游戏公平吗?

显然不公平对吧? 同正或同反的概率是1/2 * 1/2 * 1/2 * 2 = 1/4, 这个游戏肯定玩过来是老板赚钱, 但是如果用R去算应该如何算呢?

假如我们玩100次游戏,0代表正面,1代表反面,那么同为0或同为1时是我们赢了,其他是输了,我们能赢或者输多少钱呢,100000次呢?

a <- sample(c(0,1), 3, rep=T)
a

## [1] 0 1 0

可以算sum值,如果是0说明同为正面,3说明同为反面,1或2说明我们输了

sum(a)

## [1] 1

我们重复100次

money = 0
for (i in 1:100){
a = sample(c(0,1), 3, rep=T)
if (sum(a)==0 | sum(a)==3){
money = money + 3
}else{
money = money -3
}
}
money

## [1] -150

money = 0
for (i in 1:100000){
a = sample(c(0,1), 3, rep=T)
if (sum(a)==0 | sum(a)==3){
money = money + 3
}else{
money = money -3
}
}
money

## [1] -149514

2. 接下来我们用table函数来看a的分布情况

mySum <- c()
for (i in 1:1000){
a <- sample(c(0,1), 3, replace=T)
mySum <- c(mySum,sum(a))
}
mySum

## [1] 2 2 2 1 3 2 2 3 1 3 2 3 2 2 1 1 0 1 2 0 2 3 1 0 2 1 1 2 2 2 3 0 3 0 0 1 2
## [38] 1 2 1 1 2 1 3 2 0 0 2 1 3 0 1 1 3 1 3 2 2 2 1 1 1 1 1 3 2 1 1 1 3 1 2 3 1
## [75] 1 1 2 2 0 1 1 3 2 1 2 2 2 1 2 0 2 2 1 2 1 2 3 1 3 1 2 0 1 2 3 1 2 2 0 3 0
## [112] 0 1 1 0 2 2 2 2 1 1 1 0 0 1 2 2 1 2 2 3 1 1 2 2 2 2 1 0 1 3 1 1 3 2 3 3 1
## [149] 3 2 1 2 1 1 2 1 2 3 2 2 0 3 1 2 2 2 3 0 0 1 2 1 2 1 1 1 1 1 2 0 1 3 2 2 3
## [186] 2 1 1 2 2 1 2 1 3 2 3 1 3 1 1 2 1 1 1 1 2 1 2 1 1 2 1 1 1 2 2 2 2 1 1 0 2
## [223] 1 1 1 1 2 3 1 0 0 1 1 1 2 2 3 1 2 3 1 2 1 3 1 1 3 1 1 3 2 2 2 1 1 2 2 0 1
## [260] 1 1 2 1 1 3 0 3 1 1 0 2 2 0 0 1 1 2 1 1 3 1 2 2 1 1 2 1 1 2 1 2 1 1 1 1 1
## [297] 1 2 3 1 0 1 1 1 0 2 3 2 1 2 1 0 2 2 2 1 2 1 1 1 1 1 2 2 1 1 1 0 2 0 0 1 0
## [334] 1 0 2 1 3 2 2 1 1 0 1 2 2 1 2 1 2 1 1 0 2 3 2 2 2 2 2 1 2 2 2 2 2 1 2 1 2
## [371] 1 3 1 1 1 0 1 1 1 2 1 0 1 2 2 3 1 3 0 1 3 2 1 2 1 1 1 2 1 1 1 3 2 3 1 2 2
## [408] 1 1 2 3 2 3 0 3 2 3 2 2 1 1 2 1 3 0 2 1 0 2 1 2 0 2 1 2 1 2 3 3 0 1 0 2 1
## [445] 2 2 1 1 2 1 1 2 2 1 3 1 3 3 0 1 3 3 2 2 1 1 1 1 1 2 0 1 1 2 2 2 2 3 3 1 3
## [482] 2 3 3 1 0 1 1 2 2 0 0 2 2 1 3 3 1 2 2 3 2 1 2 1 1 2 2 2 2 2 2 1 0 0 2 1 2
## [519] 0 2 0 1 3 2 2 2 1 1 2 1 0 1 1 1 2 1 0 2 2 0 2 0 2 1 2 2 2 3 1 1 1 0 1 2 2
## [556] 1 2 2 1 2 1 1 0 1 2 1 3 1 0 1 1 2 1 1 2 1 2 2 2 2 1 3 2 1 0 3 3 2 1 1 2 1
## [593] 3 1 3 2 1 0 1 0 2 1 1 1 0 1 3 1 0 2 1 0 1 1 2 1 1 1 2 1 2 0 1 0 1 2 2 3 2
## [630] 1 2 0 2 2 2 2 2 2 2 1 2 1 3 0 3 0 0 1 2 1 1 2 2 0 2 2 2 2 2 1 1 1 1 2 2 1
## [667] 1 1 1 2 2 1 2 1 1 2 1 3 1 1 1 1 1 3 1 1 1 1 2 2 1 2 0 1 2 2 0 1 2 2 2 1 1
## [704] 0 1 3 0 1 0 1 1 2 1 3 2 1 2 2 1 2 2 1 1 2 2 0 1 2 0 1 1 3 2 0 3 2 2 2 1 2
## [741] 2 0 2 0 2 2 1 1 2 2 1 1 2 2 1 1 2 1 2 2 2 2 1 3 2 2 0 1 1 2 1 2 2 2 3 1 2
## [778] 2 3 2 0 2 1 1 1 1 1 2 2 2 0 2 1 2 0 1 3 2 1 2 1 1 2 3 3 0 1 2 0 2 2 1 1 2
## [815] 0 2 2 3 3 1 1 0 2 2 2 2 1 1 1 2 1 2 1 0 2 2 1 1 2 0 1 2 1 0 0 1 2 3 2 2 2
## [852] 2 2 2 1 1 2 1 1 2 0 1 2 1 1 1 2 2 1 2 2 2 1 2 3 2 1 1 1 1 1 1 0 0 0 1 1 2
## [889] 0 1 3 2 2 0 3 2 1 1 2 3 3 1 2 2 1 0 1 1 1 1 0 0 1 1 2 3 0 0 1 2 2 0 0 2 1
## [926] 1 2 2 2 3 1 1 2 0 1 0 0 2 1 2 2 2 3 1 3 2 1 2 1 2 1 2 1 2 2 1 0 0 2 3 2 3
## [963] 2 2 1 2 2 3 2 1 2 1 2 2 2 3 0 1 2 2 2 2 0 1 2 1 2 2 3 2 1 2 0 1 0 1 2 0 2
## [1000] 1

table(mySum)

## mySum
## 0 1 2 3
## 124 389 374 113

所以table函数的功能是查看向量中值的分布情况 近似的去看也就是赚钱概率为(146+104)/1000 = 0.230 和理论预期值0.25相差不多,如果我们重复次数更多,就会更接近0,25

下面我们去访问table这个对象

x <- table(mySum)
x

## mySum
## 0 1 2 3
## 124 389 374 113

x["0"] # 这是使用名称进行访问

## 0
## 124

x[1] # 这是使用索引进行访问

## 0
## 124

3. table转Dataframe

x

## mySum
## 0 1 2 3
## 124 389 374 113

df <- as.data.frame(x)
df

## mySum Freq
## 1 0 124
## 2 1 389
## 3 2 374
## 4 3 113

后面就也可以使用Dataframe的逻辑来进行运算

R Learnilng 十八讲13-17相关推荐

  1. R Learnilng 十八讲7-12

    0007-矩阵-矩阵中元素的访问 矩阵概念 在R语言中,矩阵Matrix是将数据按行和列组织的一种数据对象,相当于二维数组,可以用于描述二维的数据 与向量相似,矩阵的每个元素都拥有相同的数据类型.通常 ...

  2. R Learnilng 十八讲1-6

    [R learning]-0001-向量-创建向量 1. 直接创建 # 创建等差序列 x1 <- 1:10 x1 ## [1] 1 2 3 4 5 6 7 8 9 10 # 创建一个值的向量 x ...

  3. R learning 十八讲 0018-R语言绘图基础

    0018-R语言绘图基础 2020-07-29更新:使用代码块,看起来更方便.更改了第6节: 这次不介绍如ggplot2等绘图包, 只记录一些R基础就能实现的东西~ 跟着我爪子敲一遍,相信你会有收获! ...

  4. 小甲鱼Python3学习笔记之第二十八讲(仅记录学习)

    第二十八讲:文件:因为懂你,所以永恒 一.知识点: 0.file对象利用open函数来创建. 1.file文件的打开模式:f = open('文件地址','r/w/x/a等') 'r':只读模式,以只 ...

  5. 趣谈网络协议笔记-二(第十八讲)

    趣谈网络协议笔记-二(第十八讲) DNS协议:网络世界的地址簿 自勉 勿谓言之不预也 -- 向为祖国牺牲的先烈致敬! 正文 DNS用于域名解析,但也不仅仅是用于域名解析,不仅仅是将域名转换成IP. 在 ...

  6. python字符串操作入门十八讲——合集一

    字符串操作十八讲合集 导读

  7. 前端简单入门第十八讲 使用jQuery实现表格的隔行换色

    还记得之前我使用JavaScript来实现表格的隔行换色效果吗?如果读者初次翻阅本文,可记得看看前端简单入门第十二讲 使用JavaScript完成后台数据展示表格的隔行换色!现在我就来使用jQuery ...

  8. 名词解释第二十八讲:跨链

    这里是王团长区块链学院,与最优秀的区块链人一起成长!今天给大家讲讲跨链. 点击观看视频教程:名词解释第二十八讲:跨链 随着区块链技术的发展,出现了越来越多的链,包括公有链.联盟链.私有链层出不穷,但每 ...

  9. 王佩丰excel学习笔记(五):第十五——十八讲

    目录 第十五讲 第十六讲 第十七讲 第十八讲 第十五讲 根据某些条件突出显示单元格:开始-条件格式-突出显示单元格规则 制作数据范围趋势:开始-条件格式-数据条 用于分组统计:插入-切片器 多重条件格 ...

最新文章

  1. 当前最佳的YOLOv4是如何炼成的?细数那些Tricks
  2. Magento调试 - 页面空白,打开错误报告的方法
  3. bootstrapTable表格格式化日期后,IE浏览器显示不正常,为NaN-NaN-NaN
  4. python3.7适用的opencv_通过python3.7.3使用openCV截图一个区域
  5. C空间不够如何盘瘦身
  6. 在reader中勾选pdf复选框_adobe reader pro dc
  7. ODB for mysql
  8. 计算机无法连接到wifi但手机可以使用,电脑连不上wifi而手机能连怎么办
  9. xThunder —— 完美支持Firefox的迅雷,旋风调用扩展
  10. 海康威视监控下载下来的mp4格式的视频,小类别MPEG-PS格式,这种格式在浏览器中没法播放,跪求播放方法。
  11. 【教程】Unity 与 Simence PLC 联动通讯
  12. 【CNNVD-201303-018】D-Link DIR-645 Routers 认证绕过漏洞复现
  13. 苹果手机显示无法与服务器建立安全连接,苹果手机那个safari浏览器无法与访问器建立安全链接是什么意思...
  14. 在CMD中输入adb命令,提示“‘adb‘ 不是内部或外部命令,也不是可运行程序或批处理文件”的解决方法
  15. 阿俊带你用Kotlin刷算法(二)
  16. 【Linux】一些命令
  17. 论如何在 uni-app 上使用 sockjs 以及 stomp(顺便)
  18. linux 配置snmp端口号,Linux系统安装、配置SNMP 服务
  19. 写高效的JavaScript程序
  20. linux_bochs的安装

热门文章

  1. wps文档复制粘贴序号_10个文档处理神技能,学会让你少走很多弯路!
  2. osgEarth3.0 加载天地图
  3. 成功检测远距离目标,将点云与RGB图像结合,谷歌Waymo提出新算法:4D-Net
  4. OpenCV 4.5发布!更强的SIFT,OCR,RANSAC算法,新增目标跟踪网络SiamRPN++
  5. OPencv java Mat 基本操作像素点(7)
  6. Pymol BioPython | PDB文件中氨基酸序列的提取
  7. html 右边是iframe 左右结构_HTML速查表
  8. c#调用java开发的webservice_用C#.NET调用Java开发的WebService传递int,double问题
  9. 985硕博导师:如果你没空看书,我强烈建议你做这件事
  10. FEMS:广东生态所孙蔚旻组利用DNA-SIP宏基因组揭示锑氧化微生物及其代谢途径...