生信自學路線|R語言的數據變量類型與對應運算

R 是一種動態類型語言,使用靈活,變量無需預先聲明類型。掌握 R 的數據類型和變量機制,是后續進行數據處理和建模分析的基礎。本章節主要介紹 R 語言中的常量、變量、基本數據類型及常用數據結構,并結合示例進行說明。

文章目錄

    • 一、常量(Constants)
      • 1. 數值型常量
      • 2. 字符型常量
      • 3. 邏輯型常量
      • 4. 缺失值常量
      • 5. 復數常量
    • 二、變量(Variables)
      • 1. 變量名命名規則
      • 2. 變量賦值方式
      • 3. 動態類型語言特征
    • 三、基本數據類型(Atomic Types)
    • 四、常用數據結構(Data Structures)
      • 1. 向量(vector)
      • 2. 矩陣(matrix)
      • 3. 數據框(data.frame)
      • 4. 列表(list)
      • 5. 因子(factor)
    • 五、數據訪問與子集提取
      • 1. 向量訪問
      • 2. 數據框訪問
      • 3. 列表訪問
    • 六、數值型向量及其運算(Numeric Vectors and Their Operations)
      • 1. 數值型向量的創建
      • 2. 標量與標量運算
      • 3. 向量與標量運算
      • 4. 向量與向量運算
      • 5. 向量函數與向量化計算
      • 6. 排序函數與順序函數
      • 7. 常用統計函數
      • 8. 序列與重復生成函數
      • 9. 復數向量
    • 七、邏輯型向量及其運算(Logical Vectors and Logical Operations)
      • 1. 邏輯型向量與比較運算
        • 比較運算符包括:
      • 2. 邏輯運算
      • 3. 邏輯運算函數
      • 4.其他常用邏輯函數:
    • 八、字符型數據及其處理(Character Data and String Handling)
      • 1. 字符型向量
      • 2. 轉義字符與原始字符串
      • 3. 字符串拼接:`paste()` 函數
      • 4. 轉換大小寫
      • 5. 字符串長度計算
      • 6. 提取子串
      • 7. 類型轉換
      • 8. 字符串替換
      • 9. 正則表達式匹配
    • 參考引用

一、常量(Constants)

常量是指程序中直接寫出的固定值,例如數字、字符串、邏輯值、復數等。在 R 中,常量具有不同的表現形式。

1. 數值型常量

數值型常量包括整數、浮點數和科學計數法表示形式。例如:

x1 <- 123
x2 <- -0.012
x3 <- 1.23e2   # 等價于123
x4 <- 123L     # 表示整數類型(L 結尾)

2. 字符型常量

字符常量是由雙引號或單引號括起來的文本。在 R 中,字符類型用于表示字符串:

name1 <- "Li Ming"
name2 <- '李明'

注意:R 沒有單獨的“字符(character)”類型和“字符串(string)”類型,二者統一稱為 character。

3. 邏輯型常量

邏輯型常量僅包括 TRUEFALSE,表示布爾值:

flag1 <- TRUE
flag2 <- FALSE
flag3 <- flag1 & flag2   # 與操作

4. 缺失值常量

R 使用 NA 表示缺失值,廣泛出現在統計分析中。

v <- c(1, 2, NA, 4)
mean(v)                  # 返回 NA
mean(v, na.rm = TRUE)    # 去除缺失值后計算均值

字符型空白不會自動識別為 NA,需要手動轉換。

5. 復數常量

R 支持復數類型。復數常量的形式如下:

z <- 2 + 3i
Mod(z)    # 計算復數的模長

二、變量(Variables)

程序語言中的變量用來保存輸入的值或者計算得到的值。在 R 中,變量可以保存所有類型的數據,包括標量、向量、矩陣、數據框、函數等。

1. 變量名命名規則

變量名是變量的標識符。R 語言的變量命名需要遵循以下規則:

  • 由字母、數字、下劃線 _ 和句點 . 組成;
  • 第一個字符不能為數字;
  • R 中變量名區分大小寫,如 xX 是兩個不同的變量;
  • 在中文操作系統中,也可以使用中文作為變量名(不推薦)。
x <- 10
y <- 20
Data_1 <- "變量"
變量名 <- "合法但不推薦"

2. 變量賦值方式

R 中常用 <- 進行賦值,也可使用 =。建議優先使用 <-,更符合 R 編程規范。

a <- 5
b = 10
sum <- a + b
print(sum)

3. 動態類型語言特征

R 是動態類型語言,變量的類型在賦值時自動確定,可以隨時被修改為其他類型:

x <- 1.5        # 數值型
x <- "abc"      # 重新賦值為字符型
x <- TRUE       # 再次賦值為邏輯型

盡管 R 支持類型切換,實際編程中應避免頻繁更改同一變量的類型。


三、基本數據類型(Atomic Types)

R 語言的基本數據類型包括以下幾類:

類型示例類型判斷函數
數值型x <- 3.14is.numeric(x)
整數型x <- 5Lis.integer(x)
字符型x <- "text"is.character(x)
邏輯型x <- TRUEis.logical(x)
復數型x <- 1+2iis.complex(x)

可使用 typeof()class() 查看變量類型:

x <- 3.14
typeof(x)   # 返回 "double"
class(x)    # 返回 "numeric"

四、常用數據結構(Data Structures)

R 支持多種數據結構,用于組織和管理不同類型和維度的數據。

1. 向量(vector)

向量是 R 最基本的數據結構,包含相同類型的一組元素。

v <- c(1, 2, 3, 4)
length(v)       # 返回元素個數
mean(v)         # 求均值

2. 矩陣(matrix)

矩陣是二維向量,所有元素類型必須一致。

m <- matrix(1:6, nrow = 2, byrow = TRUE)
print(m)

3. 數據框(data.frame)

數據框是類似于表格的二維數據結構,每列可以是不同類型

df <- data.frame(name = c("Tom", "Amy"),score = c(90, 85),passed = c(TRUE, FALSE)
)
print(df)

4. 列表(list)

列表是一種可容納任意類型對象的數據結構,常用于模型輸出、函數返回值等場景。

lst <- list(id = 1,name = "Tom",scores = c(85, 90)
)
lst$name

5. 因子(factor)

因子用于存儲分類變量,有固定的水平(levels)。

gender <- factor(c("Male", "Female", "Male"))
levels(gender)
summary(gender)

五、數據訪問與子集提取

R 提供多種方式訪問數據結構中的元素。

1. 向量訪問

v <- c(100, 200, 300)
v[2]         # 返回第二個元素

2. 數據框訪問

df <- data.frame(id = 1:3, score = c(80, 85, 90))df[1, 2]          # 第1行第2列
df$score          # 按列名訪問
df[df$score > 80, ]  # 篩選得分大于80的行

3. 列表訪問

lst <- list(name = "Amy", age = 25)
lst$name
lst[["age"]]

六、數值型向量及其運算(Numeric Vectors and Their Operations)

1. 數值型向量的創建

R 語言中,數值型向量是由一組數值組成的線性結構,是最基本的數據單位。可以使用 c() 函數將多個數值組合成一個向量,也可以通過冒號 :seq() 函數生成等差數列。

x <- c(10, 6, 4, 7, 8)
y <- c(1:3, 10:13)
z1 <- c(1, 2)
z2 <- c(3, 4)
z <- c(z1, z2)
numeric(5)    # 創建一個元素全部為 0、長度為 5 的向量
length(z)     # 返回向量的長度

長度為 0 的向量用 numeric(0) 表示。


2. 標量與標量運算

R 中的標量(單個數值)本質上是長度為 1 的向量,支持加減乘除乘方等常見運算:

1.5 + 2.3 - 0.6 + 2.1 * 1.2 - 1.5 / 0.5 + 2^3
## [1] 10.72# 使用括號控制優先級
1.5 + 2.3 - (0.6 + 2.1) * 1.2 - 1.5 / 0.5 + 2^3
## [1] 5.56

R 還支持整除(%/%)和取余(%%):

5 %/% 3    # 商為 1
5 %% 3     # 余數為 2

3. 向量與標量運算

向量與標量進行運算時,會將標量擴展為與向量等長,逐元素進行運算:

x <- c(1, 10)x + 2      # 每個元素加 2
x * 2      # 每個元素乘 2
2 ^ x      # 以 2 為底,對 x 中每個元素進行乘方

缺失值參與運算會返回缺失:

c(1, NA, 3) + 10
## [1] 11 NA 13

4. 向量與向量運算

兩個等長向量進行運算時,按對應元素逐一計算:

x1 <- c(1, 10)
x2 <- c(4, 2)x1 + x2    # [1]  5 12
x1 * x2    # [1]  4 20

如果向量長度不一致,但較長者是較短者長度的整數倍,R 會自動重復短向量的元素:

x1 <- c(10, 20)
x2 <- c(1, 3, 5, 7)x1 + x2
## [1] 11 23 15 27

若長度不是整數倍,將返回計算結果但伴隨警告信息:

c(1, 2) + c(1, 2, 3)
## Warning: longer object length is not a multiple of shorter object length

5. 向量函數與向量化計算

R 中的許多數學函數都是向量化的,接受向量輸入并返回對應的向量輸出:

sqrt(c(1, 4, 6.25))
## [1] 1.0 2.0 2.5log10(c(1, 10, 100))
exp(c(0, 1, 2))

常用函數包括:

  • 平方根:sqrt()
  • 對數與指數:log(), log10(), exp()
  • 絕對值與符號:abs(), sign()
  • 三角函數:sin(), cos(), tan()
  • 舍入:round(), floor(), ceiling(), trunc()

6. 排序函數與順序函數

排序函數可以用于向量排序及下標操作:

x <- c(33, 55, 11)sort(x)         # 升序排列
rev(sort(x))    # 降序排列
order(x)        # 獲取排序下標
x[order(x)]     # 排序后的向量

7. 常用統計函數

R 中統計函數直接作用于數值向量,計算基本統計量:

x <- c(88, 92, 76, 81, 95, 67, 90, 85, 73, 89)mean(x)     # 平均值
sd(x)       # 標準差
min(x)      # 最小值
max(x)      # 最大值
median(x)   # 中位數
sum(x)      # 總和
range(x)    # 范圍

還有累計函數:

cumsum(1:5)     # 累計和
cumprod(1:5)    # 累計積

8. 序列與重復生成函數

使用 seq() 生成規則數列,rep() 生成重復模式:

seq(1, 10, by = 2)
## [1] 1 3 5 7 9rep(0, 5)                        # 生成五個零
rep(c(1, 3), 2)                  # [1] 1 3 1 3
rep(c(1, 3), each = 2)           # [1] 1 1 3 3
rep(c(1, 3), times = c(2, 4))    # [1] 1 1 3 3 3 3

seq(): 區別:1:5 生成整數序列,seq(1, 5, by=1) 更靈活,可設步長、長度。


9. 復數向量

R 中可用 complex() 生成復數向量,支持實部、虛部或模角定義:

z <- complex(real = c(1, 0, -1, 0), imaginary = c(0, 1, 0, -1))
z
## [1]  1+0i  0+1i -1+0i  0-1iRe(z); Im(z); Mod(z); Arg(z); Conj(z)

當運算涉及復數時,需顯式寫出復數形式:

sqrt(-1)
## NaN with warningsqrt(-1 + 0i)
## [1] 0+1i

七、邏輯型向量及其運算(Logical Vectors and Logical Operations)

1. 邏輯型向量與比較運算

邏輯型(logical)是 R 的基本數據類型之一,只有兩個取值:TRUEFALSE,缺失值表示為 NA。邏輯值通常來源于比較表達式。例如:

sele <- (log10(15) < 2)
print(sele)
## [1] TRUE

對向量進行比較時,會生成邏輯型向量,結果逐元素返回布爾值:

c(1, 3, 5) > 2
## [1] FALSE  TRUE  TRUE(1:4) >= (4:1)
## [1] FALSE FALSE  TRUE  TRUE

R 的比較遵循向量間運算的一般規則:

  • 向量與標量之間比較:每個元素與標量分別比較;
  • 等長向量比較:對應元素逐一比較;
  • 不等長但滿足倍數關系:較短向量從頭重復利用。

含缺失值的比較將產生 NA

c(1, NA, 3) > 2
## [1] FALSE    NA  TRUENA == NA
## [1] NA

is.na() 判斷是否為缺失值,用 is.finite() 判斷是否為有限值:

is.na(c(1, NA, 3) > 2)
## [1] FALSE  TRUE FALSE
比較運算符包括:
運算符含義
<小于
<=小于等于
>大于
>=大于等于
==等于(注意兩個等號)
!=不等于
%in%是否屬于集合

%in% 將右側向量視為集合,判斷左側元素是否存在其中:

c(1, 3) %in% c(2, 3, 4)
## [1] FALSE  TRUEc(NA, 3) %in% c(NA, 3, 4)
## [1] TRUE TRUE

函數 match(x, y)%in% 類似,但返回的是匹配元素在 y 中首次出現的位置,若找不到返回 NA

match(c(1, 3), c(2, 3, 4, 3))
## [1] NA  2

2. 邏輯運算

為了表達復合條件,可以使用邏輯運算符將多個邏輯表達式連接:

運算符含義
&與(元素級)
``
!非(取反)
xor()異或:只在不相等時為真

示例:

age <- c(2, 5, 3, 6)
sex <- c("女", "女", "男", "男")# 女嬰(年齡≤3且性別為女)
age <= 3 & sex == "女"
## [1]  TRUE FALSE FALSE FALSE# 嬰兒或女性
age <= 3 | sex == "女"
## [1]  TRUE  TRUE  TRUE FALSE# 既非嬰兒也非女性
!(age <= 3 | sex == "女")
## [1] FALSE FALSE FALSE  TRUE

短路邏輯運算符 &&|| 只比較第一個元素,常用于 ifwhile 等流程控制語句中:

if (TRUE || sqrt(-1) > 0) print("不會報錯")

由于 TRUE || ... 的結果已確定,右側不會被執行,避免了運行錯誤。


3. 邏輯運算函數

有時需要從邏輯型向量中計算匯總結果,R 提供了如下函數:

  • all(x):所有元素為 TRUE 時返回 TRUE
  • any(x):任意一個元素為 TRUE 即返回 TRUE
  • which(x):返回邏輯值為 TRUE 的下標

示例:

cond <- c(1, NA, 3) > 2all(cond)
## [1] FALSEany(cond)
## [1] TRUEwhich(cond)
## [1] 3

當邏輯向量全為缺失時:

all(NA)
## [1] NAany(NA)
## [1] NA

4.其他常用邏輯函數:

  • identical(x, y):判斷兩個對象是否完全相同(類型和值均一致)
  • all.equal(x, y):判斷兩個對象是否“接近相等”,常用于數值誤差容忍比較
  • duplicated(x):判斷每個元素是否在前面出現過
  • unique(x):返回去重后的結果

示例:

duplicated(c(1, 2, 1, 3, NA, 4, NA))
## [1] FALSE FALSE  TRUE FALSE FALSE FALSE  TRUEunique(c(1, 2, 1, 3, NA, 4, NA))
## [1]  1  2  3 NA  4
identical(c(1L, 2L, 3L), c(1, 2, 3))
## [1] FALSE    # 類型不一致:一個是整數,一個是雙精度all.equal(c(1L, 2L, 3L), c(1, 2, 3))
## [1] TRUE

八、字符型數據及其處理(Character Data and String Handling)

1. 字符型向量

字符型向量是元素為字符串的一類向量。在 R 中,字符串使用雙引號 "" 或單引號 '' 包裹。例如:

s1 <- c('abc', '', 'a cat', NA, '李明')

注意:空字符串 "" 不能自動識別為缺失值,字符型的缺失值需顯式寫為 NA

字符串的常見來源包括文件讀取、網絡請求、數據庫提取等,也可以直接在代碼中寫出。


2. 轉義字符與原始字符串

在字符串中包含特殊字符(如引號、換行符)時需使用反斜杠 \ 進行轉義:

cat("\"\n")
## "

\n 表示換行。若字符串中包含較多轉義內容,可使用原始字符串語法 r"(...)"

cat(r"(C:\disk\course\math\nFinished!\n)")
## C:\disk\course\math\nFinished!\n

若原始字符串中包含圓括號 (),可改用 []{},必要時還可加減號標識范圍:

r"[(...)]"、r"{...}"、r"--((...))--"

3. 字符串拼接:paste() 函數

paste() 是處理字符型向量最常用的函數。默認逐元素拼接,并以空格分隔:

paste(c("ab", "cd"), c("ef", "gh"))
## [1] "ab ef" "cd gh"

R 遵循向量化運算規則,支持數值自動轉換為字符串:

paste("x", 1:3)
## [1] "x 1" "x 2" "x 3"
  • 使用 sep= 可指定分隔符:

    paste("x", 1:3, sep = "")
    ## [1] "x1" "x2" "x3"
    
  • 使用 collapse= 可將整個字符向量合并為單個字符串:

    paste(c("a", "b", "c"), collapse = "")
    ## [1] "abc"
    

4. 轉換大小寫

R 提供了大小寫轉換函數:

  • toupper() 將字符串轉換為大寫;
  • tolower() 將字符串轉換為小寫。
toupper("aB cd")
## [1] "AB CD"tolower(c("aB", "CD"))
## [1] "ab" "cd"

該方法常用于不區分大小寫的比較:

toupper("jan") == "JAN"
## [1] TRUE

5. 字符串長度計算

  • nchar(x, type = "chars"):按字符數統計(中文一個字符);
  • nchar(x, type = "bytes"):按字節統計(中文通常占兩個字節)。
x <- c("abc", "李明")
nchar(x, type = "chars")   # [1] 3 2
nchar(x, type = "bytes")   # [1] 3 6

繪圖時可用 strwidth() 計算文本所占空間寬度。


6. 提取子串

  • substr(x, start, stop):提取指定起止位置的子串;
  • substring(x, start):從指定位置提取到末尾。
substr("JAN07", 1, 3)
## [1] "JAN"substr(c("JAN07", "MAR66"), 1, 3)
## [1] "JAN" "MAR"substring(c("JAN07", "MAR66"), 4)
## [1] "07" "66"

7. 類型轉換

  • as.numeric() 將字符串轉換為數值;
  • as.character() 將數值轉換為字符串;
  • sprintf() 進行格式控制的轉換;
  • 使用 readr::parse_number() 提取字符串中的數值部分。
as.numeric(substr("JAN07", 4, 5)) + 2000
## [1] 2007as.character((1:5)*5)
## [1] "5"  "10" "15" "20" "25"sprintf("file%03d.txt", c(1, 99, 100))
## [1] "file001.txt" "file099.txt" "file100.txt"readr::parse_number(c("output-123.txt", "30.2%", "abc"))
## [1] -123.000  30.200       NA

parse_number() 可提取字符串中的數值部分,而 parse_integer() 等函數則要求字符串完全為目標類型,否則返回 NA 并提供提示信息。


8. 字符串替換

gsub() 函數可以實現字符串中模式的替換操作,例如將標點統一或清理空格:

x <- "1, 3; 5"
gsub(";", ",", x, fixed = TRUE)
## [1] "1, 3, 5"

此類功能常用于數據預處理、文本清洗等場景。


9. 正則表達式匹配

正則表達式(regular expression)可用于模式匹配、查找與替換等高級文本處理。R 中支持 Perl 風格的正則語法,常用函數包括:

  • grepl() / grep():匹配查詢;
  • gsub() / sub():替換操作。

示例:替換多個空格為一個空格

gsub("[[:space:]]+", " ", "a   cat  in a box", perl = TRUE)
## [1] "a cat in a box"

正則表達式具有強大表達能力,在處理網絡抓取文本、自然語言處理等任務中應用廣泛。


參考引用

  1. Wickham, H., & Grolemund, G. (2016). R for Data Science. O’Reilly Media.
    在線閱讀:https://r4ds.hadley.nz

  2. R 官方語言手冊
    https://cran.r-project.org/manuals.html

  3. RDocumentation: R 函數與包參考平臺
    https://www.rdocumentation.org

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88683.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88683.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88683.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

UI前端大數據處理優化策略:提升數據處理速度與準確性

hello寶子們...我們是艾斯視覺擅長ui設計、前端開發、數字孿生、大數據、三維建模、三維動畫10年經驗!希望我的分享能幫助到您!如需幫助可以評論關注私信我們一起探討!致敬感謝感恩! 在數字化浪潮下&#xff0c;前端面臨的數據規模正呈指數級增長 ——IDC 預測&#xff0c;2025…

技術調研:時序數據庫(二)

除了 InfluxDB、TDengine 和 TimescaleDB&#xff0c;還有其他多個主流的開源時序數據庫&#xff0c;各自針對不同場景優化。以下是補充的時序數據庫選型清單&#xff0c;涵蓋其核心特性、適用場景及局限性&#xff1a; 1. 監控與運維場景 (1) Prometheus 核心優勢&#xff1…

【C++/C】十進制數轉為十六進制時,如何區分正負? 負數補碼高位是1,那么一個很大的正數,高位也會出現1,會和負數搞混嗎?

文章目錄 1 十進制數轉為十六進制時&#xff0c;如何區分正負&#xff1f;1.1 正數處理1.2 負數處理?1.3 關鍵點? 2 負數補碼高位是1&#xff0c;那么一個很大的正數&#xff0c;高位也會出現1&#xff0c;會和負數搞混嗎&#xff1f;2.1 符號位明確區分?2.2 補碼的數值范圍…

Elasticsearch 如果保證讀寫一致

Elasticsearch 通過多機制組合保障讀寫一致性&#xff0c;針對高并發場景優化設計&#xff0c;具體實現如下&#xff1a; 一、寫入一致性控制? ?1.1 一致性級別參數&#xff08;consistency&#xff09;? 寫操作時指定分片確認數量&#xff0c;確保數據可靠同步&am…

內嵌lua解釋器 作為組件命令調試

給不同的組件傳遞不通的參數 好處就是調試代碼 只在 lua 代碼出現&#xff0c;同時為設備初始化 增加了外部腳本配置的功能接口

Excel工具箱WPS版 增強插件 文本處理、批量錄入 數據對比 高級排序

各位Excel辦公達人們&#xff0c;今天咱來聊聊方方格子Excel工具箱V3.6.6.0&#xff08;WPS版&#xff09;&#xff01;這玩意兒啊&#xff0c;就是專門給WPS Office用戶量身打造的Excel增強插件。它集成了上百項實用功能&#xff0c;能幫咱高效處理數據、優化表格操作&#xf…

創建AWS Bedrock知識庫及填坑指南

前言 作者之前的關于Dify實踐RAG系統的文章&#xff1a;用它搭建AI Agent原來這么簡單&#xff01;-CSDN博客&#xff0c;文末留了TODO&#xff1a; “后面會對此RAG系統進行擴展和增強&#xff1a; 1&#xff09;知識庫同步自Web站點 2&#xff09;鏈接外部知識庫 3&…

Swift 變量

Swift 變量 在 Swift 編程語言中,變量是存儲數據的基本方式。它們用于在程序的運行過程中保存和修改數據。理解 Swift 中的變量類型和用法對于編寫高效、可維護的代碼至關重要。 變量的定義 變量在 Swift 中是通過關鍵字 var 來定義的。定義變量時,需要指定變量存儲的數據…

板凳-------Mysql cookbook學習 (十--9)

8.15 基于日期的摘要 Monday, June 23, 2025 mysql> use cookbook Database changed mysql> select trav_date,-> count(*) as number of drivers, sum(miles) as miles logged-> from driver_log group by trav_date; -----------------------------------------…

redis的scan使用詳解,結合spring使用詳解

Redis的SCAN命令是一種非阻塞的迭代器&#xff0c;用于逐步遍歷數據庫中的鍵&#xff0c;特別適合處理大數據庫。下面詳細介紹其使用方法及在Spring框架中的集成方式。 SCAN命令基礎 SCAN命令的基本語法&#xff1a; SCAN cursor [MATCH pattern] [COUNT count]cursor&#…

Go 語言并發模式實踐

在 Go 語言并發編程中&#xff0c;合理的并發模式能顯著提升程序的可維護性和性能。本文將深入解析三種典型的并發模式實現&#xff0c;通過具體案例展示如何優雅地管理任務生命周期、資源池和工作 goroutine 池。 一、runner 模式&#xff1a;任務生命周期管理 在定時任務、…

【Java 開發日記】你會不會使用 SpringBoot 整合 Flowable 快速實現工作流呢?

目錄 1、流程引擎介紹 2、創建項目 3、畫流程圖 4、開發接口 4.1 Java 類梳理 ProcessDefinition ProcessInstance Activity Execution Task 4.2 查看流程圖 4.3 開啟一個流程 4.4 將請求提交給組長 4.5 組長審批 4.6 經理審批 4.7 拒絕流程 1、流程引擎介紹 …

面試150 分發糖果

思路 聯想貪心算法&#xff0c;遍歷兩次數組&#xff0c;一次是從左到右遍歷&#xff0c;只比較右邊孩子評分比左邊打的情況。第二次從右到左遍歷&#xff0c;只比較左邊孩子評分比右邊大的情況。最后求和即可 class Solution:def candy(self, ratings: List[int]) -> int…

csp基礎之進制轉換器

一、進制轉換要明白的基礎知識。。。 1、什么是進制&#xff1f; 進制也就是進位計數制&#xff0c;是人為定義的帶進位的計數方法。對于任何一種進制 X 進制&#xff0c;就表示每一位置上的數運算時都是逢 X 進一位。十進制是逢十進一&#xff0c;十六進制是逢十六進一&#…

Zephyr OS藍牙廣播(Advertising)功能實現

目錄 概述 1 Advertising功能介紹 1.1 實現原理 1.2 廣播類型 1.3 廣播數據格式 1.4 優化建議 1.5 常見問題和解決方法 2 Nordic 藍牙廣播&#xff08;Advertising&#xff09;功能實現 2.1 環境準備與SDK基礎 2.2 廣播功能實現 2.3 廣播優化與最佳實踐 3 實際應用案例…

服務器不支持PUT,DELETE 的解決方案

nginx 的更改&#xff1a; set $method $request_method; if ($http_X_HTTP_Method_Override ~* PUT|DELETE) { set $method $http_X_HTTP_Method_Override; } proxy_method $method; axios 的更改&#xff1a; const method config.me…

從0開始學習計算機視覺--Day04--線性分類

從宏觀來看&#xff0c;卷積網絡可以看做是由一個個不同的神經網絡組件組合而成&#xff0c;就像積木一樣通過不同類型的組件搭建形成&#xff0c;其中線性分類器是一個很重要的組件&#xff0c;在很多卷積網絡中都有用到&#xff0c;所以了解清楚它的工作原理對我們后續的學習…

基于ComfyUI與Wan2.1模型的本地化視頻生成環境搭建指南

文章目錄 前言1.軟件準備1.1 ComfyUI1.2 文本編碼器1.3 VAE1.4 視頻生成模型2.整合配置3. 本地運行測試4. 公網使用Wan2.1模型生成視頻4.1 創建遠程連接公網地址5. 固定遠程訪問公網地址總結前言 各位小伙伴們,今天我們將為您展示一套創新的人工智能應用方案!本次教程將指導…

Vue 2 項目中內嵌 md 文件

推薦方案&#xff1a;raw-loader marked 解析 Markdown 第一步&#xff1a;安裝依賴 npm install marked --save npm install raw-loader --save-dev第二步&#xff1a;配置 webpack 支持 .md 文件 打開 vue.config.js 或 webpack.config.js&#xff0c;添加以下配置&#…

Spring AI初識及簡單使用,快速上手。

Spring AI簡介 在當今這樣一個快速發展的技術時代&#xff0c;人工智能&#xff08;AI&#xff09;已經成為各行各業的一種標配。而作為一款主流的Java應用開發框架Spring&#xff0c;肯定會緊跟時代的潮流&#xff0c;所以&#xff0c;推出了Spring AI框架。 官網描述&#…