R 基礎測試(3) 物件的基本操作

2021-09-08 09:19:05 字數 2710 閱讀 3849

r通過物件來執行,這些物件通過名字、內容和屬性(資料型別)來刻畫。所有的物件都有2個內在的屬性:型別和長度。

1. 物件型別:型別是物件元素的基本種類,共有4種:

2. 物件長度:長度是物件中元素的數目。

物件的型別和長度可以分別通過函式mode()和length()得到。例如:

> x <- 1;y <-1i;z <- true;q<-'woca';

> mode(x);mode(y);mode(z);mode(q);

[1] "numeric"

[1] "complex"

[1] "logical"

[1] "character"

> length(x);length(y);length(z);length(q);

[1] 1

[1] 1

[1] 1

[1] 1

3. 特殊數值

r通過inf表示正無窮的數值,-inf表示負無窮的數值,nan表示非數值。

> a=100**200

> a

[1] inf

> b=-100**200

> b

[1] -inf

> c=0/0

> c

[1] nan

> mode(a)

[1] "numeric"

> mode(b)

[1] "numeric"

> mode(c)

[1] "numeric"

4. 特殊字串

字串放在單引號或雙引號中。如果字串裡有單引號或雙引號,可以使用「\」來轉義。

> d="wo ca 'yct'"

> d

[1] "wo ca 'yct'"

> cat(d)

wo ca 'yct'

> e="wo ca 'yct' & \"tianyc\""

> e

[1] "wo ca 'yct' & \"tianyc\""

> cat(e)

wo ca 'yct' & "tianyc"

5. 物件的檢視與刪除

5.1 前面我們定義了好多物件,可以通過 ls() 函式、objects() 函式,或 ls.str() 函式來檢視一下:

> ls() #檢視所有物件

[1] "a" "b" "c" "d" "e" "q" "x" "y" "z"

> objects()

[1] "a" "b" "c" "d" "e" "q" "x" "y" "z"

可以進行模糊檢視,再定義兩個物件:

> aa='xjbu'

> cba='wocacaca'

> ls(pat='a') #檢視所有帶有字串『a'的物件

[1] "a" "aa" "cba"

> ls(pat='^a') #檢視所有以字串『a』開頭的物件

[1] "a" "aa"

> ls.str() # 可以檢視到更詳細的資訊

a : num inf

aa : chr "xjbu"

b : num -inf

c : num nan

cba : chr "wocacaca"

d : chr "wo ca 'yct'"

e : chr "wo ca 'yct' & \"tianyc\""

q : chr "woca"

x : num 1

y : cplx 0+1i

z : logi true

> ls.str(pat='^a') #也可以使用pat引數

a : num inf

aa : chr "xjbu"

5.2 可以通過 rm() 函式來刪除已有的物件。

> ls()

[1] "a" "aa" "b" "c" "cba" "d" "e" "q" "x" "y" "z"

> rm(a) #刪除1個物件

> ls()

[1] "aa" "b" "c" "cba" "d" "e" "q" "x" "y" "z"

> rm(b,c,d) #刪除多個物件

> ls()

[1] "aa" "cba" "e" "q" "x" "y" "z"

> rm(list=ls(pat='a')) #刪除名稱帶有字串『a'的所有物件

> ls()

[1] "e" "q" "x" "y" "z"

> rm(list=ls()) #刪除所有物件

> ls()

character(0)

6. 需要注意的地方

#6.1 r是區分大小寫的,所以x和x是2個物件:

> x='wo'

> x='ca'

> ls()

[1] "x" "x"

# 6.2 物件的命名不能與r的預設物件衝突,否則會提示錯誤:

> else='xjbu'

錯誤: 意外的'else'在"else"裡

r的預設物件列表如下:

break

else

for

function

if true

in next

repeat

return

while

false

3物件的共享

作用 將當前執行緒對volatile的改變立即通知給其他執行緒 保證了volatile變數對執行緒的可見性 volatile是一種比synchronizyed稍弱的同步機制 對可見性的影響 volatile變數對可見性的影響比volatile變數本身更為重要。當執行緒a首先寫入乙個volatile變...

js物件4 物件的操作

使用typeof 方法 function isobject test else 原理 該方法傳入乙個變數,返回該變數型別所對應的字串 string number boolean undefined object null object function 對於null 陣列和物件,一律返回 objec...

C 基礎3(物件以及友元)

引數個數不定,可以是任意多。可變引數va int sum int num,va end vp return sum class student 需要在外部進行賦值 使用 int student tag 11 void main class student 會報錯 限制this關鍵字 不能對類的屬性進...