R语言基础| 数据基本管理与操作

article/2025/9/7 0:43:25

上次教程我们已经和大家一起完成了创建数据集的学习,在本次内容里我们将进一步对数据进行管理与操作。

示例展示(本节均用它学习)

leadership <- data.frame(manager=c(1,2,3,4,5),date=c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09"),country=c("US","US","UK","UK","UK"),gender=c("M","F","F","M","F"),age=c(32,45,25,39,99),q1=c(5,3,3,3,2),q2=c(4,5,5,3,2),q3=c(5,2,5,4,1),q4=c(5,5,5,NA,2),q5=c(5,5,2,NA,1))
leadership
##   manager     date country gender age q1 q2 q3 q4 q5
## 1       1 10/24/08      US      M  32  5  4  5  5  5
## 2       2 10/28/08      US      F  45  3  5  2  5  5
## 3       3  10/1/08      UK      F  25  3  5  5  5  2
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1

3.1 创建新变量请输入标题   

3.1.1语法

变量名 <- 表达式

这一过程会涉及到一些算术运算符和函数:

算术运算符描述
+
-
*
/
^or**求幂
x%%Y求余,例如:5%%2的结果为1
x%/%Y整数除法。例如:5%/%2的结果为2

3.1.2举例

若我们想创建2个新变量分别为total_score(q1-q5之和),和mean_score(q1-q5的均值):

方法一:

leadership$total_score <- leadership$q1+leadership$q2+leadership$q3+leadership$q4+leadership$q5leadership$mean_score <- (leadership$q1+leadership$q2+leadership$q3+leadership$q4+leadership$q5)/5
leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6

方法二:利用transform()函数,能将原始数据中的数据进行转换,转换方式包括按照指定的函数,添加新的变量和删除变量。

leadership <- transform(leadership,total_score=q1+q2+q3+q4+q5,mean_score=(q1+q2+q3+q4+q5)/5)
leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6

3.2 变量的重编码(recoding)

leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder

2)写法2,利用within()函数,它与with()函数类似,不同的是within()允许修改数据框

leadership <- within(leadership,{agecat <- NA agecat[age>75] <- "Elder"agecat[age>=55&age<=75] <- "Middle"agecat[age<55] <- "Young"})
leadership
##   manager     date country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder

3.3 变量的重命名

3.3.1 方法一:fix(数据框)

例如

fix(leadership)

则出现一个交互式编辑器,单击变量名则可对其重命名

图片

3.3.2 方法二:name()函数

语法

names(leadership)
##  [1] "manager"     "date"        "country"     "gender"      "age"        
##  [6] "q1"          "q2"          "q3"          "q4"          "q5"         
## [11] "total_score" "mean_score"  "agecat"
names(leadership)[2] <- "testDate"
leadership
##   manager testDate country gender age q1 q2 q3 q4 q5 total_score mean_score
## 1       1 10/24/08      US      M  32  5  4  5  5  5          24        4.8
## 2       2 10/28/08      US      F  45  3  5  2  5  5          20        4.0
## 3       3  10/1/08      UK      F  25  3  5  5  5  2          20        4.0
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA          NA         NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder
names(leadership)[6:10] <- c("item1","item2","item3","item4","item5")
leadership
##   manager testDate country gender age item1 item2 item3 item4 item5 total_score
## 1       1 10/24/08      US      M  32     5     4     5     5     5          24
## 2       2 10/28/08      US      F  45     3     5     2     5     5          20
## 3       3  10/1/08      UK      F  25     3     5     5     5     2          20
## 4       4 10/12/08      UK      M  39     3     3     4    NA    NA          NA
## 5       5   5/1/09      UK      F  99     2     2     1     2     1           8
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young
## 4         NA  Young
## 5        1.6  Elder

3.4 缺失值(NA)

3.4.1 检测数据中是否含有缺失值

x为向量、数据框等名字,返回结果为FALSE=非NA,TRUE=NA,返回位置与元素或数值位置对应

is.na(x)

例如:

is.na(leadership[,6:10])
##      item1 item2 item3 item4 item5
## [1,] FALSE FALSE FALSE FALSE FALSE
## [2,] FALSE FALSE FALSE FALSE FALSE
## [3,] FALSE FALSE FALSE FALSE FALSE
## [4,] FALSE FALSE FALSE  TRUE  TRUE
## [5,] FALSE FALSE FALSE FALSE FALSE

缺失值NA不可标记,无法使用比较运算符来检测其是否存在。

在R中无限的或不可能的值均不认为是缺失值,分别用is.infinite()is.nan()来检测是否是无限的或不可能值(不是一个数)。

3.4.2 重编码某些值为NA

在数据分析前,有的观测值差异较大或者一看就是错的,则可以设置为NA 例如:

leadership$age[leadership$age==99] <- NA

3.4.3 剔除NA

由于在数据分析时,若数据集中含有NA,则算术表达式和函数计算出来的也是NA,因此数据分析前应进行剔除。

  • 3.4.3.1 仅剔除NA值

语法:

na.rm=TRUE

举例:

x <- c(1,2,NA,3)
y <- sum(x)
z <- mean(x)
y1 <- sum(x,na.rm = TRUE)
z1 <- mean(x,na.rm=TRUE)
y
## [1] NA
y1
## [1] 6
z
## [1] NA
z1
## [1] 2
na.rm=TRUE

注意:使用不同的函数,如这里的sum(),应用帮助命令如help(“sum”)检查这些函数如何去除NA

  • 3.4.3.2剔除NA值所在的行(行删除)

语法:x为数据集的名字

na.omit(x)

例如:

leadership
##   manager testDate country gender age item1 item2 item3 item4 item5 total_score
## 1       1 10/24/08      US      M  32     5     4     5     5     5          24
## 2       2 10/28/08      US      F  45     3     5     2     5     5          20
## 3       3  10/1/08      UK      F  25     3     5     5     5     2          20
## 4       4 10/12/08      UK      M  39     3     3     4    NA    NA          NA
## 5       5   5/1/09      UK      F  NA     2     2     1     2     1           8
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young
## 4         NA  Young
## 5        1.6  Elder
newdata <- na.omit(leadership)
newdata
##   manager testDate country gender age item1 item2 item3 item4 item5 total_score
## 1       1 10/24/08      US      M  32     5     4     5     5     5          24
## 2       2 10/28/08      US      F  45     3     5     2     5     5          20
## 3       3  10/1/08      UK      F  25     3     5     5     5     2          20
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young

3.5 日期值

3.5.1 定义

日期值一般以字符串形式输入到R中,然后转换为以数值型存储的日期变量,可以用as.Date()执行该转换。语法(x为字符型数据,input_format则为用于读入日期的适当格式):

as.Date(x,"input_format")

日期格式有:

符号含义示例
%d数字表示的日期(0-31)0-31
%a缩写的星期名Mon
%A非缩写的星期名Monday
%m月份(0-12)00-12
%b缩写的月份Jan
%B非缩写的月份January
%y两位数年份07
%Y四位数年份2007

举例:默认的输入格式为yyy-mm-dd,若输入的格式不是这种,则需要注明;

在leadership中日期是mm/dd/yy格式编码的字符型变量,因此:

myformat <- "%m/%d/%Y"
leadership$testDate <- as.Date(leadership$testDate,myformat)

在完成这一转换后就变成了数值型数据,可以对其进行分析和绘图。

两个实用函数:Sys.Date()返回当天的日期和date()返回当前的时间和日期

Sys.Date()
## [1] "2023-11-21"
date()
## [1] "Tue Nov 21 17:18:43 2023"

format(x,format=“output_format”)可以输出指定格式的日期

mydate <- Sys.Date()
format(mydate,format="%B %d %Y")
## [1] "十一月 21 2023"

3.5.2 用于计算

1)直接用算术运算符

startdate <- as.Date("2020-09-21")
enddate <- as.Date("2023-01-19")
days <- enddate-startdate
days
## Time difference of 850 days

2)使用difftime()函数

startdate <- as.Date("2020-09-21")
enddate <- as.Date("2023-01-19")
difftime(enddate,startdate,units = "days")
## Time difference of 850 days

3.6 类型判断和转换

判断转换类型
is.numeric()as.numeric()数值型
is.character()as.character()字符型
is.vector()as.vector()向量
is.matrix()as.matrix()矩阵
is.data.frame()as.data.frame()数据框
is.factor()as.factor()因子型
is.logical()as.logical()逻辑型

括号里为数据集的名字

3.7 数据排序

order()函数进行,默认升序,在变量前加一减号则为降序,也可以按多个条件排序

newdata <- leadership[order(leadership$age),]
newdata1 <- leadership[order(leadership$gender,leadership$age),]
newdata2 <- leadership[order(leadership$gender,-leadership$age),]
newdata
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 5       5 0009-05-01      UK      F  NA     2     2     1     2     1
##   total_score mean_score agecat
## 3          20        4.0  Young
## 1          24        4.8  Young
## 4          NA         NA  Young
## 2          20        4.0  Young
## 5           8        1.6  Elder
newdata1
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 5       5 0009-05-01      UK      F  NA     2     2     1     2     1
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
##   total_score mean_score agecat
## 3          20        4.0  Young
## 2          20        4.0  Young
## 5           8        1.6  Elder
## 1          24        4.8  Young
## 4          NA         NA  Young
newdata2
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
## 5       5 0009-05-01      UK      F  NA     2     2     1     2     1
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
##   total_score mean_score agecat
## 2          20        4.0  Young
## 3          20        4.0  Young
## 5           8        1.6  Elder
## 4          NA         NA  Young
## 1          24        4.8  Young

注意注意,方括号里面有一个逗号不能少!!这表示其他列会随之而动

3.8 数据集的合并

3.8.1 直接横向合并,合并变量(要求行数相同)

语法(A,B是数据集的名字):

total <- cbind(A,B)

3.8.2 直接纵向合并,合并观测值(要求变量数量和排序相同)

语法(A,B是数据集的名字):

total <- rbind(A,B)

3.8.3 内联结横向合并(最常见的就是根据ID一一对应着合并)

语法:

total <- merge(dataframeA,dataframeB,by="ID")
total <- merge(dataframeA,dataframeB,by=c("ID","country"))

一般用于在数据框中添加变量。

3.9 选取变量

3.9.1 dataframe[,column indices]

只设置列下标,不设置行下标例如:

newdata <- leadership[,c(6:10)]
newdata
##   item1 item2 item3 item4 item5
## 1     5     4     5     5     5
## 2     3     5     2     5     5
## 3     3     5     5     5     2
## 4     3     3     4    NA    NA
## 5     2     2     1     2     1

3.9.2 直接手动选择变量名

比较适用于变量特别多,不清楚具体是第几列的:

vars <- c("item1","item2","item3","item4")
newdata <- leadership[,vars]
newdata
##   item1 item2 item3 item4
## 1     5     4     5     5
## 2     3     5     2     5
## 3     3     5     5     5
## 4     3     3     4    NA
## 5     2     2     1     2

3.10 选取观测值

3.10.1 dataframe[row indices,]

只设置行下标,不设置列下标例如:

newdata <- leadership[1:3,]
newdata
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 2       2 0008-10-28      US      F  45     3     5     2     5     5
## 3       3 0008-10-01      UK      F  25     3     5     5     5     2
##   total_score mean_score agecat
## 1          24        4.8  Young
## 2          20        4.0  Young
## 3          20        4.0  Young

3.10.2 手动设置条件观测值

newdata <- leadership[leadership$gender=="M"&leadership$age>30,]
newdata
##   manager   testDate country gender age item1 item2 item3 item4 item5
## 1       1 0008-10-24      US      M  32     5     4     5     5     5
## 4       4 0008-10-12      UK      M  39     3     3     4    NA    NA
##   total_score mean_score agecat
## 1          24        4.8  Young
## 4          NA         NA  Young

3.11 subset()函数选择观测值或变量

该方法非常简便:

newdata <- subset(leadership,age>=35|age<23,select=c(item1,item2,item3,item4))
newdata
##   item1 item2 item3 item4
## 2     3     5     2     5
## 4     3     3     4    NA

代码含义:选择年龄在35以上或(|)23岁以下的所有观测值(对观测值选取), 并保留变量item1,item2,item3,item4.

select=则是对变量的选取。

3.12 剔除变量

3.12.1 方法一

myvars <- names(leadership)%in%c("item1","item2")
newdata <- leadership[!myvars]
newdata
##   manager   testDate country gender age item3 item4 item5 total_score
## 1       1 0008-10-24      US      M  32     5     5     5          24
## 2       2 0008-10-28      US      F  45     2     5     5          20
## 3       3 0008-10-01      UK      F  25     5     5     2          20
## 4       4 0008-10-12      UK      M  39     4    NA    NA          NA
## 5       5 0009-05-01      UK      F  NA     1     2     1           8
##   mean_score agecat
## 1        4.8  Young
## 2        4.0  Young
## 3        4.0  Young
## 4         NA  Young
## 5        1.6  Elder

3.12.2 方法二

先用names()函数将数据集的变量展示出来,知道需要删除变量对应的位置(序号),在需要剔除变量序号前加一个减号即可。

names(leadership)
##  [1] "manager"     "testDate"    "country"     "gender"      "age"        
##  [6] "item1"       "item2"       "item3"       "item4"       "item5"      
## [11] "total_score" "mean_score"  "agecat"
newdata <- leadership[c(-2,-3)]
newdata
##   manager gender age item1 item2 item3 item4 item5 total_score mean_score
## 1       1      M  32     5     4     5     5     5          24        4.8
## 2       2      F  45     3     5     2     5     5          20        4.0
## 3       3      F  25     3     5     5     5     2          20        4.0
## 4       4      M  39     3     3     4    NA    NA          NA         NA
## 5       5      F  NA     2     2     1     2     1           8        1.6
##   agecat
## 1  Young
## 2  Young
## 3  Young
## 4  Young
## 5  Elder

3.13 dplyr包

3.13.1 安装并加载

install.packages("dplyr")
library(dplyr)
## 
## 载入程辑包:'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union

用于操作数据框的dplyr函数

函数用途
select()选择变量/列
filter()选择观测值/行
mutate()转换或重编码变量,添加变量
rename()重命名变量/列
recode()重编码变量值
arrange()按变量值对行进行排序(升序)
desc()按变量值对行进行排序(倒序)
leadership <- data.frame(manager=c(1,2,3,4,5),date=c("10/24/08","10/28/08","10/1/08","10/12/08","5/1/09"),country=c("US","US","UK","UK","UK"),gender=c("M","F","F","M","F"),age=c(32,45,25,39,99),q1=c(5,3,3,3,2),q2=c(4,5,5,3,2),q3=c(5,2,5,4,1),q4=c(5,5,5,NA,2),q5=c(5,5,2,NA,1))
leadership
##   manager     date country gender age q1 q2 q3 q4 q5
## 1       1 10/24/08      US      M  32  5  4  5  5  5
## 2       2 10/28/08      US      F  45  3  5  2  5  5
## 3       3  10/1/08      UK      F  25  3  5  5  5  2
## 4       4 10/12/08      UK      M  39  3  3  4 NA NA
## 5       5   5/1/09      UK      F  99  2  2  1  2  1
library(dplyr)
leadership <- mutate(leadership,total_score=q1+q2+q3+q4+q5,mean_score=total_score/5)
leadership$gender <- recode(leadership$gender,"M"="male","F"="female")
leadership <- rename(leadership,ID="manager",sex="gender")
leadership <- arrange(leadership,sex,mean_score)
leadership_rating <- select(leadership,ID,mean_score)
leadership_men_high <- filter(leadership,sex=="male"&total_score>10)
leadership
##   ID     date country    sex age q1 q2 q3 q4 q5 total_score mean_score
## 1  5   5/1/09      UK female  99  2  2  1  2  1           8        1.6
## 2  2 10/28/08      US female  45  3  5  2  5  5          20        4.0
## 3  3  10/1/08      UK female  25  3  5  5  5  2          20        4.0
## 4  1 10/24/08      US   male  32  5  4  5  5  5          24        4.8
## 5  4 10/12/08      UK   male  39  3  3  4 NA NA          NA         NA
vector <- recode(vector,oldvalue1=newvalue1,oldvalue2=newvalue2,...)
dataframe <- rename(dataframe,newname1="oldname1",newname2="oldname2",...)
dataframe_subset <- select(dataframe,variablelist1variablelist2,...)
dataframe <- arrange(dataframe,variblelist1,variblelist2,...)
dataframe <- desc(dataframe,variblelist1,variblelist2,...)
dataframe <- filter(dataframe,expression)

注:

recode:对于数值型,用反引号``来引用原始值,字符型用”“,未指定新值的向量值保持不变

rename:新名字在前,旧名字在后

select:选取变量,可以用:来选取一系列的变量,在变量前加一个减号(-)则剔除该变量

arrange:默认升序排序

desc:倒序排序

3.14 使用管道操作符对语句进行串接

使用magrittr包提供的管道运算符%>%

data <- filter(leadership,total_score>10)
data <- select(ID,country,mean_score)
data <- arrange(country,mean_score)

这3条语句可以用%>%重新写为一条语句:

data <- filter(leadership,total_score>10)%>%select(ID,country,mean_score)%>%arrange(country,mean_score)

完整教程请查看

R语言基础学习手册


http://www.hkcw.cn/article/eUKLbaxWOZ.shtml

相关文章

腾讯云国际站性能调优

全球化业务扩张中&#xff0c;云端性能直接决定用户体验与商业成败。腾讯云国际站通过资源适配、网络优化与存储革新&#xff0c;为企业提供全链路调优方案。 ​​资源精准适配​​ 实例选型需与业务场景深度耦合&#xff0c;计算优化型实例加速AI训练效率3倍&#xff0c;内存…

深度学习核心网络架构详解(续):从 Transformers 到生成模型

在上一篇文章中&#xff0c;我们详细介绍了卷积神经网络 (CNN)、循环神经网络 (RNN) 及其变体 LSTM 和 GRU。本文将继续探讨其他必须掌握的深度学习网络架构&#xff0c;包括 Transformers、生成对抗网络 (GAN)、自编码器 (Autoencoder) 以及强化学习基础。我们将深入讲解这些技…

HTML5 Canvas 星空战机游戏开发全解析

HTML5 Canvas 星空战机游戏开发全解析 一、游戏介绍 这是一款基于HTML5 Canvas开发的2D射击游戏&#xff0c;具有以下特色功能&#xff1a; &#x1f680; 纯代码绘制的星空动态背景✈️ 三种不同特性的敌人类型&#x1f3ae; 键盘控制的玩家战机&#x1f4ca; 完整的分数统…

oracle19C新特性自动索引优化测试

创建用户&#xff0c;表空间 alter session set containerpdbprod5;Session altered.SQL> create tablespace test_data datafile /u01/app/oracle/oradata/PRODCDB/PDBPROD5/test_data01.dbf size 100m autoextend on;Tablespace created.SQL> create tablespace test…

64、【OS】【Nuttx】任务休眠与唤醒:clock_nanosleep

背景 之前的 blog 63、【OS】【Nuttx】任务休眠与唤醒&#xff1a;sleep 分析了任务休眠中的 sleep 函数&#xff0c;下面继续来分析下 sleep 函数中的核心功能 clock_nanosleep clock_nanosleep usleep 上篇 blog 分析了 sleep 函数&#xff0c;其核心功能封装到了 clock_…

重工业专属:Profibus转Profinet网关在矿石粉料输送线中的定制化方案

在现代制造业中&#xff0c;生产线的智能化、自动化水平已成为企业竞争力的关键因素之一。特别是对于那些依赖精密机械操作的行业&#xff0c;如何确保生产过程中的稳定性与高效性&#xff0c;是每个企业都面临的挑战。今天&#xff0c;我们就来聊聊一个创新解决方案—开疆智能…

攻防世界-BadProgrammer

进入环境 查看源代码进行分析 把源代码复制到Visual里面进行分析 发现静态文件存放在/static/目录下 观察请求response header发现是nginx服务器加express框架 利用nginx配置错误&#xff0c;可以列目录 得到app.js源码 查看package.json文件 发现express-fileupload版本为1.…

vue3 导出excel

需求&#xff1a;导出自带格式的excel表格 1.自定义二维数组格式 导出 全部代码&#xff1a; <el-button click"exportExcel">导出</el-button> const exportExcel () > {const data [[商品, 单价, 数量, 总价],[A, 100, 1.55, { t: n, f: B2*C2…

微深节能 码头装卸船机定位与控制系统 格雷母线

微深节能码头装卸船机定位与控制系统&#xff1a;格雷母线技术赋能港口作业智能化升级 在现代化港口散货装卸作业中&#xff0c;装卸船机是连接船舶与陆域运输的核心枢纽设备。传统装卸船机依赖人工操作&#xff0c;存在定位偏差大、动态协同难、安全风险高等痛点。微深节能基于…

Vue-列表过滤排序

列表过滤 基础环境 数据 persons: [{ id: "001", name: "刘德华", age: 19 },{ id: "002", name: "马德华", age: 20 },{ id: "003", name: "李小龙", age: 21 },{ id: "004", name: "释小龙&q…

车载摄像头选型相关

From : https://www.zhihu.com/people/aili-light/posts 1 L2-L4自动驾驶视觉方案推荐 (一) https://zhuanlan.zhihu.com/p/475817226 (二) https://zhuanlan.zhihu.com/p/475832413 2 CMOS图像传感器的参数和评价标准 https://zhuanlan.zhihu.com/p/480707847 EMVA(Eur…

OPC Client第6讲(wxwidgets):Logger.h日志记录文件(单例模式);登录后的主界面

接上一讲三、2、2>4》&#xff0c;创建logger.h和helper_t.h里的gettime函数 即解决下图的报红 同时&#xff0c;接上一讲二、3、点击“确认”按钮后&#xff0c;进入MainFrame.h对应的下述界面&#xff0c;此讲下图进行实现 一、创建Logger.h&#xff1a;日志记录文件&…

mkdir: cannot create directory ‘gitlab-stu’: No space left on device

Linux中创建目录时报错“mkdir: cannot create directory ‘gitlab-stu’: No space left on device”&#xff0c;磁盘空间不足。 使用df命令查看&#xff0c;发现 / 下面use%占满了&#xff1a; 查看inode使用情况&#xff1a; 可以看到docker的数据大部分存放在/var/lib/do…

st倍增(st表)

ST表不仅能处理区间最值问题&#xff0c;凡是符合结合律且可重复贡献的信息查询都可以使用ST表高效进行。可重复贡献的意义在于&#xff0c;可以对两个交集不为空的区间进行信息合并&#xff0c;显然最大值、最小值、最大公约数、最小公倍数、按位或、按位与都符合这个条件。 在…

Minimax-speech-hd

paper 文章目录 abstractMethod abstract speech_encoder 提取音色信息&#xff0c;不需要prompt text&#xff08;更加适用于跨语言任务&#xff0c;解耦了prompt 文本和prompt style/timbre)Flow-VAE 提升合成音质&#xff1b; Method speaker encoder: 相比于其他预训练…

python高级3——元类与动态类创建

元类 1、元类(Metaclass)的概念 元类是Python中一个高级概念&#xff0c;本质上是**“类的类”**&#xff0c;用于控制创建类的过程。元类是创建类的模板在Python中&#xff1a; 类定义了实例的行为元类定义了类的行为 2、python中的默认元类 在Python中&#xff0c;type是…

SpringBoot整合RocketMQ--实例

原文网址&#xff1a;SpringBoot整合RocketMQ--实例-CSDN博客 简介 本文介绍SpringBoot整合RocketMQ的方法。 spring-boot-starter-parent版本&#xff1a;2.4.13RocketMQ版本&#xff1a;4.9.4。&#xff08;写这篇文章时&#xff0c;5.X版本的Java客户端还没完善&#xff…

9.5 Q1 | 北京协和医学院GBD发文 | 1990-2021 年全球、区域和国家心力衰竭负担及其根本原因

1.第一段-文章基本信息 文章题目&#xff1a;Global, regional, and national burden of heart failure and its underlying causes, 1990-2021: results from the global burden of disease study 2021 中文标题&#xff1a;1990-2021 年全球、区域和国家心力衰竭负担及其根本…

汇聚全球智慧,共话艺术设计与现代化教育——ADME 2025

会议简介 第二届艺术设计与现代化教育国际会议&#xff08;ADEME 2025&#xff09;在风光旖旎的春城昆明隆重召开。这是一场集全球艺术设计精英与教育创新者于一体的学术盛宴。会议围绕“创意启迪教育革新”主题&#xff0c;旨在搭建一个多元文化交流与知识共享的平台&#xff…