R語言 變數與運算子

2021-10-08 18:49:14 字數 4278 閱讀 8290

運算子r語言的變數可以儲存原子向量、原子向量組或許多r物件的組合。

命名規範:

賦值:可以用 向左<-、向右->、等於號=來為變數分配值。

列印變數值:用print()或者cat(),不同的是,前乙個只能列印乙個變數,後乙個能列印多個變數,如:(注意兩者輸出的格式也不一樣)

a <- c(1,

2,3)

b <- c(4,

5,6)

print(a)

#輸出:[1

]123

cat(a,b)

#輸出:12

3456

在 r語言裡,變數沒有像c語言那樣定義時就要宣告號資料型別,而是根據分配到的r-物件來判斷其資料型別,類似python,因此,r語言是動態型別的語言。

要知道當前工作空間中已經定義了哪些變數,用ls()函式檢視,例如:

a <- c(1,

2,3)

b <- c(4,

5,6)

ab <- a + b

print(ls())

#輸出:[1

]"a"

"b""ab"

可以使用模式pattern來匹配含有指定字元的變數:

print(ls(pattern =

'a')

)#注意,函式內的引數不能用 '<-' 和 '->'來賦值[1

]"a"

"ab"

使用rm()函式對當前工作空間內的變數進行刪除

a <- c(1,

2,3)

b <- c(4,

5,6)

ab <- a + b

rm(ab)

print(ls())

#輸出:[1

]"a"

"b"#變數ab被刪除了

print(ab)

#這時試圖列印ab的值出錯:

#輸出:

error in print(ab)

: 找不到物件'ab'

traceback:

1. print(ab)

刪除多個變數:rm(變數1,變數2,...)

a <- c(1,

2,3)

b <- c(4,

5,6)

ab <- c(7,

8,9)

rm(a,b)

print(ls())

#輸出[1]

"ab"

刪除所有的變數可以用語句rm(list= ls())

rm(list = ls())

print(ls())

#輸出:

character(

0)

運算子

描述舉例

+兩個向量相加

print(c(1,2) + c(3,4))結果:[1] 4 6

-兩個向量相減

print(c(1,2) - c(3,4))結果:[1] -2 -2

*兩個向量相乘

print(c(1,2) * c(3,4))結果:[1] 3 8

/兩個向量相除

print(c(3,2) / c(3,4))結果:[1] 1.0 0.5

%%兩個向量求餘

print(c(5,8) %% c(3,4))結果:[1] 2 0

%/%兩個向量求商

print(c(5,8) %/% c(3,4))結果:[1] 1 2

^乘方運算

print(c(2,2) ^ c(3,4))結果:[1] 8 16

r語言關係運算子有以下6種:

>,<,=,>=,<=,==,!=,含義與其他很多語言都一樣

兩個向量比較時將會對每個元素進行比較,例如:

a <- c(1,

5,9)

b <- c(2,

4,9)

print(a>b)

#輸出:[1] false true false

print(a==b)

#輸出:[1] false false true

print(a!=b)

#輸出:[1] true true false

前3個運算子對兩個向量的元素逐一進行邏輯運算,後2個只是對兩個向量的第乙個元素進行運算:

a <- c(0,

1,0,

false

)b <- c(1,

2,true

,false

)print(a&b)

#輸出 [1] false true false false

print(a|b)

#輸出 [1] true true true false

print(

!a)#輸出 [1] true false true true

print(a&&b)

#輸出 [1] false

print(a||b)

#輸出 [1] true

左分配符:<-,<<-,=

右分配符:->,->>

例如:

v1 <- c(1,

2,3+

1i)v2 <<- c(1,

2,3+

1i)v3 = c(1,

2,3+

1i)c(1

,2,3

+1i)-> v4c(1

,2,3

+1i)->> v5

print(v1)

print(v2)

print(v3)

print(v4)

print(v5)

它們的輸出結果相同,均為:[1] 1+0i 2+0i 3+1i

t <-3:

8print(t)

#輸出 [1] 3 4 5 6 7 8

a <-

4b <-

10c <-2:

6print(a %in% c)

#輸出 [1] true

print(b %in% c)

#輸出 [1] false

m = matrix(c(1,

2,3,

4,5,

6,7,

8),nrow =

2, ncol =

4, byrow =

true

)print(m)

#輸出:[,

1][,

2][,

3][,

4][1

,]12

34[2

,]56

78

print(t(m)

)#將矩陣轉置

#輸出:[,

1][,

2][1

,]15

[2,]

26[3

,]37

[4,]

48

相乘:(注意這可不是對應位置相乘,形狀都不一樣)

print(m %*% t(m)

)#輸出:[,

1][,

2][1

,]3070[2

,]70174

R語言運算子

運算子是乙個符號,它告訴編譯器執行特定的數學或邏輯操作。r語言豐富的內建運算子,並提供以下型別的運算子。在r程式設計中有以下型別的運算子 下表顯示了r語言支援的算術運算子。運算子對向量的每個元素進行操作。下表顯示了r語言支援的關係運算子。將第乙個向量的每個元素與第二向量中的相應元素進行比較。比較結果...

R語言運算子

運算子是乙個符號,告訴編譯器執行特定的數學或邏輯操作。r語言有豐富的內建運算子,並提供以下型別的運算子。下表列出了用r語言支援的算術運算子。運算子作用向量中的每個元素。運算子描述示例 兩個向量相加 v c 2,5.5,6 t c 8,3,4 print v t 它產生以下結果 1 10.0 8.5 ...

變數與運算子

注釋 1.注釋 用於一行 2.注釋 三個單引號中間的均為注釋,可跨行 3.注釋 三個雙引號中間的均為注釋,可跨行 input 從外部獲取變數的值 eg age input 請輸入使用者年齡 print age age 等待輸入 處於阻塞狀態 輸入的內容儲存在age裡 python資料型別 1.num...