欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

R語言屬性知識點總結及實例

 更新時間:2021年03月22日 15:23:16   作者:看云  
在本篇文章里小編給大家整理了一篇關于R語言屬性知識點總結及實例內容,有興趣的朋友們可以學習下。

屬性(attribute):R中對象具備的特性

特性描述了所代表的內容以及R解釋該對象的方式

很多時候兩個對象之間的唯一差別在于它們的屬性不同

常見的屬性

屬性 描述
class 對象的類
comment 對象的注釋,一般用于描述對象的含義
dim 對象的維度
dimnames 與對象的每個維度相關的名字
names 返回對象的名字屬性.返回結果取決于對象的類型.對于數據框對象會返回數據框的列名;對于數組會返回數組中被命名元素的名字
row,names 對象的行名(dimnames相關)
tsp 對象的起始點,對于時間序列對象有用
levels 因子型變量的水平

查詢R中對象的屬性的標準方法:

對于對象x和屬性a:一般來說可以通過a(x)來查詢x的a屬性

大多數情況下,R中都有一個現成的獲取對象屬性或者改變對象屬性的函數

(這種改變對象屬性的方法會在當前環(huán)境中覆蓋對象的舊屬性,但不會影響閉環(huán)境中的變量屬性)

m = matrix(data = 1:12, nrow = 4, ncol = 3,
      dimnames = list(c("r1", "r2", "r3", "r4"),
              c("c1", "c2", "c3")))

通過attributes函數可以獲得一個包含對象所有屬性的列表

> attributes(m)
$dim
[1] 4 3

$dimnames
$dimnames[[1]]
[1] "r1" "r2" "r3" "r4"

$dimnames[[2]]
[1] "c1" "c2" "c3"
> dim(m)
[1] 4 3
> dimnames(m)
[[1]]
[1] "r1" "r2" "r3" "r4"

[[2]]
[1] "c1" "c2" "c3"
> colnames(m)
[1] "c1" "c2" "c3"
> rownames(m)
[1] "r1" "r2" "r3" "r4"

可以通過改變屬性將矩陣轉化為其他類的對象

例如移除對象的維度屬性

> dim(m) <- NULL
> m
 [1] 1 2 3 4 5 6 7 8 9 10 11 12
 > class(m)
[1] "integer"
> typeof(m)
[1] "integer"

創(chuàng)建一個數組

> (a <- array(1:12, dim = c(3:4)))
   [,1] [,2] [,3] [,4]
[1,]  1  4  7  10
[2,]  2  5  8  11
[3,]  3  6  9  12

定義一個包含相同對象的向量

> (b <- 1:12)
 [1] 1 2 3 4 5 6 7 8 9 10 11 12

問題:在R總這兩個對象等價嗎?

> a == b
   [,1] [,2] [,3] [,4]
[1,] TRUE TRUE TRUE TRUE
[2,] TRUE TRUE TRUE TRUE
[3,] TRUE TRUE TRUE TRUE

數組的每個元素反映的是對兩個對象個元素比較的結果

R中all.equal函數

用來比較兩個對象的數據和維度一甄別兩個對象是否近乎相同,若不相同則會返回其原因

> all.equal(a, b)
[1] "Attributes: < Modes: list, NULL >"          "Attributes: < Lengths: 1, 0 >"            
[3] "Attributes: < names for target but not for current >" "Attributes: < current is not list-like >"      
[5] "target is matrix, current is numeric" 

若只是檢查兩個對象是不是完全一致,但不關心原因可以使用identical函數

> identical(a, b)
[1] FALSE


對于簡單類型,其類和類型是有緊密聯系的

對于符合型對象,兩者則可能不同

有時候,對象的類會隨著屬性列出.

不過,對于確定的類型(比如矩陣和數組),類是隱藏的.

可以用class函數來確定對象的類

可以用typeof函數查看對象的基本類型

可以改變R對象所屬的類.

例如,因子型向量轉換為整型數組,整型數組,轉換為因子

> (eye.colors <- factor(c("brown", "blue", "blue", "green", "brown", "brown", "brown")))
[1] brown blue blue green brown brown brown
Levels: blue brown green
> (eye.colors.integer.vector <- unclass(eye.colors))
[1] 2 1 1 3 2 2 2
attr(,"levels")
[1] "blue" "brown" "green"
> v <- as.integer(c(1, 1, 1, 2, 1, 1, 2, 2, 3, 1))
> levels(v) <- c("what", "who", "why")
> class(v) <- "factor"
> v
 [1] what what what who what what who who why what
Levels: what who why

在調用class函數或者typedef函數時,對于有些對象,需要對其進行引用以防止其在調用時被執(zhí)行

例如:想要查詢符號x,而不是x所指向的對象的類型

> class(quote(v))
[1] "name"
> typeof(quote(v))
[1] "symbol"

但并不是所有類型的對象都可以采用該操作

例如:R中的any對象,...對象,字符串對象和允諾對象不能被隔離

(查看允諾對象的類型時會要求執(zhí)行該允諾對象,而這一過程會把它轉換為普通對象,從而使我們無法查詢到其類型信息)

到此這篇關于R語言屬性知識點總結及實例的文章就介紹到這了,更多相關R語言屬性內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python+OpenCV進行人臉面部表情識別

    Python+OpenCV進行人臉面部表情識別

    這篇文章主要介紹了通過Python OpenCV實現對人臉面部表情識別,判斷人是否為笑臉,文中的示例代碼非常詳細,需要的朋友可以參考一下
    2021-12-12
  • 14個用Python實現的Excel常用操作總結

    14個用Python實現的Excel常用操作總結

    自從學了Python后就逼迫自己不用Excel,所有操作用Python實現。目的是鞏固Python,與增強數據處理能力。本文為大家總結了14個用Python實現的Excel常用操作,需要的可以參考一下
    2022-06-06
  • 玩數據必備Python庫之numpy使用詳解

    玩數據必備Python庫之numpy使用詳解

    NumPy提供了許多高級的數值編程工具,如矩陣數據類型、矢量處理,以及精密的運算庫,下面這篇文章主要給大家介紹了關于玩數據必備Python庫之numpy使用的相關資料,需要的朋友可以參考下
    2022-02-02
  • 對python_discover方法遍歷所有執(zhí)行的用例詳解

    對python_discover方法遍歷所有執(zhí)行的用例詳解

    今天小編就為大家分享一篇對python_discover方法遍歷所有執(zhí)行的用例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python實現按目錄層級輸出文件名并保存為excel

    Python實現按目錄層級輸出文件名并保存為excel

    當我們發(fā)現電腦的內存很滿,或平時工作中文件夾管理不清晰,導致里面的文件數據很雜亂,查找很不方便,一個一個文件夾去看去找然后刪除又很浪費時間。本文將介紹如何利用Python實現按目錄層級輸出文件名并保存為excel,需要的可以參考一下
    2022-02-02
  • 使用seaborn繪制強化學習中的圖片問題

    使用seaborn繪制強化學習中的圖片問題

    這篇文章主要介紹了使用seaborn繪制強化學習中的圖片問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python中第三方庫Requests庫的高級用法詳解

    Python中第三方庫Requests庫的高級用法詳解

    雖然Python的標準庫中urllib2模塊已經包含了平常我們使用的大多數功能,但是它的API使用起來讓人實在感覺不好。它已經不適合現在的時代,不適合現代的互聯網了。而Requests的誕生讓我們有了更好的選擇。本文就介紹了Python中第三方庫Requests庫的高級用法。
    2017-03-03
  • python如何將多個映射合并為一個映射

    python如何將多個映射合并為一個映射

    ChainMap類是Python中collections模塊的一部分,用于將多個字典合并為一個映射,而不會在物理上合并字典,這使得字典中相同的鍵可以共存,輸出結果取決于鍵的檢索順序,ChainMap通過維護一個底層映射的列表,重定義字典操作來實現這一功能
    2024-09-09
  • Python 模擬生成動態(tài)產生驗證碼圖片的方法

    Python 模擬生成動態(tài)產生驗證碼圖片的方法

    這篇文章主要介紹了Python 模擬生成動態(tài)產生驗證碼圖片的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • python高效的素數判斷算法

    python高效的素數判斷算法

    這篇文章主要介紹了python高效的素數判斷算法,研究算法的同學一定要看一下
    2021-04-04

最新評論