D02-R語言基礎學習

R語言基礎學習——D02python

20190423內容綱要:linux

   一、前言微信

  二、向量操做less

    (1)常規操做學習

    (2)不定長向量計算spa

    (3)序列code

    (4)向量的刪除與保留orm

  三、列表詳解對象

    (1)列表的索引blog

    (2)列表得元素屬性

    (3)更改列表元素

    (4)刪除列表元素

    (5)合併兩個列表

    (6)將列表轉換爲向量

  四、推薦

 

一、前言

怕什麼真理無窮,進一寸有進一寸的歡喜。

先隨便玩點什麼?

>ls()
#ls查看當前建立的變量,沒有。那咱們建立幾個變量
>data <- c(1,2,3,4)
>string <- "I like R"
>ls()
#那麼若是想刪除變量呢
>rm(data)
>ls()

 

感受跟linux命令太像了!有時間把linux的學習筆記整理一下!!!

下面說兩個小技巧:

#(1)換行。
# 不要把一句話輸完,缺一個括號啊什麼的,回車它會顯示一個「+」號,這樣就能夠接着寫語句,算是換行了
>mylist <- list(stud.id=1234,
+ stud.name="Tom",
+ stud.marks=c(12, 3, 14, 25, 18))
#(2)清屏
Ctrl + L

 

 

2 向量操做

(1)常規操做

# 建立向量
>a <- c(1,2,3,4)
#(1)查看長度length
>length(a)
#(2)查看類型mode
>mode(a)
#(3)數字類型強行轉成字符型
>c <- c(1,2,3, "r")
>mode(c)
#(4)更改向量中的元素
>c[2] <- "test"
>c
#5)能夠對向量中的每個元素都求平方根 >x <- c(4,8,6,7)
>y <- sqrt(x)
#(6)對向量進行加減計算當兩個長度不等的向量相加會是怎樣的呢???
>z <- x + y

 (2)不定長向量計算

#(7)當兩個長度不等的向量相加,不是補零,而是將短的循環與長的加一塊兒!python中的廣播?
#不一樣長度的向量相加時須要特別注意長的對象長度不是短的對象長度的整倍數
> x <- c(1, 1, 1, 1, 1) > y <- c(2, 2, 2) > z <- x + y Warning message: In x + y : 長的對象長度不是短的對象長度的整倍數 > x <- c(1, 1, 1, 1, 1, 1) > y <- c(2, 2, 2) > z <- x + y > z [1] 3 3 3 3 3

(3)序列

#(8)生成序列
#生成序列,從1開始10結束,步長爲2
> x <- seq(1,10,2)
> x
[1] 1 3 5 7 9
#生成循環序列,序列數5,循環10
> x <- rep(5,10)
> x
 [1] 5 5 5 5 5 5 5 5 5 5
#生成循環序列,序列數1:3,循環3次
> rep(1:3, 3)
[1] 1 2 3 1 2 3 1 2 3
#生成10個均值爲0,方差爲1的隨機數
> rnorm(10)
 [1] -1.6103872 -1.3784579  1.8143056  0.7482350  2.5612867 -1.5183595 -0.6851633 -1.0225507  0.2810904  0.1618640
#生成6個均值爲6,方差爲2的隨機數
> rnorm(6, mean=6, sd=2)
[1] 5.792479 7.257183 7.816276 5.060411 6.039296 3.343846

(4)刪除和保留向量

#(9)刪除向量中的一個元素
> x <- c(0, -3, 4, -1, 45, 98, -12)
#只保留大於0的
> x[x>0]
[1]  4 45 98
#只保留小於等於2或者大於5的
> x[x<=-2 | x>5]
[1]  -3  45  98 -12
#不要第五個
> x[-5]
[1]   0  -3   4  -1  98 -12
#不要前三個
> x[-(1:3)]
[1]  -1  45  98 -12

 

3 列表詳解

首先建立一個列表。增刪改查都有。

> mylist <- list(stud.id=1234,
+ stud.name="Tom",
+ stud.marks=c(12, 3, 14, 25, 18))
> mylist
$stud.id
[1] 1234

$stud.name
[1] "Tom"

$stud.marks
[1] 12  3 14 25 18

(1)查列表的索引(切片)

首先,R語言中的列表的索引(切片)不太同樣,單、雙括號均可以,提取的元素不同。

此外,不是從0開始!不是從0開始!不是從0開始!

 

> x <- 1:1000
> length(x)
[1] 1000

 

#第一種
> mylist[[1]]
[1] 1234
#第二種
> mylist[1]
$stud.id
[1] 1234
#第三種
> mylist$stud.id
[1] 1234

> mylist[[0]]
Error in mylist[[0]] : 
  attempt to select less than one element in get1index <real>

(2)查列表的元素屬性

#查看類型
>  mode(mylist[[1]])
[1] "numeric"
> mode(mylist[1])
[1] "list"

#查看名稱,其實也算是切片的一種。相似python中的字典,取key,上面的索引取value
> names(mylist)
[1] "stud.id"    "stud.name"  "stud.marks"

(3)更改列表元素

#添加元素
> mylist$parents <- c("man", "Jutice")
> mylist
$id
[1] 1234

$names
[1] "Tom"

$marks
[1] 12  3 14 25 18

$parents
[1] "man"    "Jutice"

(4)刪除列表元素

> length(mylist)
[1] 4
> mylist <- mylist[-4]
> mylist
$id
[1] 1234

$names
[1] "Tom"

$marks
[1] 12  3 14 25 18

(5)合併兩個列表

> other <- list(age=19, sex="male")
> other
$age
[1] 19

$sex
[1] "male"

> newlist <- c(mylist, other)
> newlist
$id
[1] 1234

$names
[1] "Tom"

$marks
[1] 12  3 14 25 18

$age
[1] 19

$sex
[1] "male"

(6)將列表變成一個向量unlist

> unlist(newlist)
    id  names marks1 marks2 marks3 marks4 marks5    age    sex 
"1234"  "Tom"   "12"    "3"   "14"   "25"   "18"   "19" "male" 

 

四、推薦

  其實最近最近關於R語言的學習斷了快半個月了,沒怎麼看這方面的。有時間整理一下PLC的資料!!!

推薦幾個python實戰項目吧。有時間能夠試一試:別光說不作!!!

(1)python實戰項目 | python製做天氣查詢軟件  https://mp.weixin.qq.com/s/Yca8RM_ivxND48NVM4qffg

(2)python實戰項目 | python建立微信機器人  https://mp.weixin.qq.com/s/LQ_4GcI9c_MeBTpQKc7eAg

我是尾巴~

人生在世,須要一點高於柴米油鹽的品相!

別失去但願,再堅持一下!

相關文章
相關標籤/搜索