R語言入門:向量初探

来源:https://www.cnblogs.com/geeksongs/archive/2020/02/22/12346989.html

R語言主要用於統計,因此引入了向量這個概念將更好地進行統計計算,在其他無法引入向量的語言當中則會使用迴圈來計算一些大規模的數據,在R語言當中則不需要,下麵我們來看看R語言當中向量的具體用法吧! 首先,如果我們把x作為一個向量,將其賦值為擁有五個元素的向量,代碼如下: > x <- c(1,2,3,4 ...


R語言主要用於統計,因此引入了向量這個概念將更好地進行統計計算,在其他無法引入向量的語言當中則會使用迴圈來計算一些大規模的數據,在R語言當中則不需要,下麵我們來看看R語言當中向量的具體用法吧!

首先,如果我們把x作為一個向量,將其賦值為擁有五個元素的向量,代碼如下:

> x <- c(1,2,3,4,5)
> x
[1] 1 2 3 4 5
>

我們可以看到x的值已經變成了1,2,3,4,5,其中進行向量賦值的時候,我們使用的是C()函數進行的向量化。當然,向量裡面並不會像數學一樣裡面僅具有數值,而是可以具有布爾值和字元串。下麵是輸入字元串向量的例子:

y <- c("one","two","three")
> y
[1] "one"   "two"   "three"
> print(y)
[1] "one"   "two"   "three"

布爾值:

> z <- c(TRUE,T,F)
> z
[1]  TRUE  TRUE FALSE

也可以直接使用C函數一個一個地輸出每一個數字:

> c(1:100)
  [1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17
 [18]  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34
 [35]  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51
 [52]  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68
 [69]  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85
 [86]  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100

這裡冒號表示的是從1挨個輸出到100,如果想要改變這個等差為1的輸出數列,則可以將等差更換為2,輸出方法為:

> seq (from=1,to=100,by=2)
 [1]  1  3  5  7  9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45
[24] 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91
[47] 93 95 97 99

也可以將等差的值更改為10,或者利用length.out限定在規定的範圍內只輸出多少個值,如下所示:

> seq (from=1,to=100,by=10)
 [1]  1 11 21 31 41 51 61 71 81 91
> seq (from=1,to=100,length.out = 10)
 [1]   1  12  23  34  45  56  67  78  89 100

向量的複製,將2重覆5次:

> rep(2,5)
[1] 2 2 2 2 2

將x重覆5次:

> x
[1] 1 2 3 4 5
> rep(x,5)
 [1] 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5

將x向量當中的每一個數字分別重覆5次,重覆之後還可以再重覆一次:

> rep(x,each=5)
 [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5
> rep(x,each=5,times=2)
 [1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 1 1 1 1 1 2 2 2 2
[35] 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5

利用mode()函數測量對象是屬於什麼類型:

> mode(x)
[1] "numeric"

將兩個不同的向量進行運算:

> x <- c(1,2,3,4,5)
> y <- c(6,7,8,9,10)
> x*2+y
[1]  8 11 14 17 20

查找X向量當中的值:

> x[x>3]
[1] 4 5

得解。


您的分享是我們最大的動力!

更多相關文章
  • 開發環境: Windows操作系統開發工具: Eclipse+Jdk+Tomcat+MySql資料庫運行效果圖 源碼及原文鏈接:https://javadao.xyz/forum.php?mod=viewthread&tid=47 ...
  • 關註公眾號:CoderBuff,回覆“redis”獲取《Redis5.x入門教程》完整版PDF。 《Redis5.x入門教程》目錄 "第一章 · 準備工作" "第二章 · 數據類型" "第三章 · ​命令" "第四章 ​· 配置" 第五章 · Java客戶端(上) 第六章 · 事務 第七章 · 分佈 ...
  • 1.設置django的mysql驅動為pymysql 因為django預設的是使用MySqlDb連接mysql資料庫,但是由於該模塊不支持python3.4以上版本,所以使用pymysql模塊 在項目的預設文件夾(也就是settings.py等文件的那個文件夾)的__init__.py文件中增加如下 ...
  • 更新多個對象 例如說我們現在想要將Apress Publisher的名稱由原來的”Apress”更改為”Apress Publishing”。若使用save()方法,如: ? 1 2 3 >>> p = Publisher.objects.get(name='Apress') >>> p.name  ...
  • 最近的Django項目中有複製記錄的需求。資料庫里有一張名為Party的表,記錄用戶創建的party,現在要讓用戶能夠複製一個新的party。本身非常簡單的一個功能,但運行的時候出錯了。我以為是複製過程出錯,所以測試了一下Django中複製記錄可能遇到的情況(後來發現是其他代碼的邏輯出了問題),結果 ...
  • 前言: 公司的產品是一款基於社交的內容聊天軟體,需要集成語音通訊功能,在寫iOS原生項目時,用到的就是Agora SDK,現在寫React Native也直接採用了Agora的庫。 集成iOS、Android的步驟: 請參考鏈接:https://github.com/syanbo/react-nat ...
  • 整理了一些Java方面的架構、面試資料(微服務、集群、分散式、中間件等),有需要的小伙伴可以關註公眾號【程式員內點事】,無套路自行領取 更多優選 "一口氣說出 9種 分散式ID生成方式,面試官有點懵了" "3萬字總結,Mysql優化之精髓" "為了不複製粘貼,我被逼著學會了JAVA爬蟲" "技術部突 ...
  • Nginx 其實就是一款輕量級的 Web 伺服器、反向代理伺服器,由於它的記憶體占用少,啟動極快,高併發能力強,在互聯網項目中廣泛應用。 那麼你可能會問了:“不是說 Nginx 嗎?怎麼又扯出來一個 Web 伺服器呢?啥是伺服器?”。彆著急,在學習 Nginx 之前你還真得知道什麼是伺服器這個概念,下 ...
一周排行
  • 一:背景 1. 講故事 如果你常翻看FCL的源碼,你會發現這裡面有不少方法藉助了C/C++的力量讓C#更快更強悍,如下所示: [DllImport("QCall", CharSet = CharSet.Unicode)] [SecurityCritical] [SuppressUnmanagedCo ...
  • 上一篇(https://www.cnblogs.com/meowv/p/12966092.html)文章使用AutoMapper來處理對象與對象之間的映射關係,本篇主要圍繞定時任務和數據抓取相關的知識點並結合實際應用,在定時任務中迴圈處理爬蟲任務抓取數據。 開始之前可以刪掉之前測試用的幾個Hello ...
  • 首先創建實體類 1 public class MacState 2 { 3 /// <summary> 4 /// 請求狀態 5 /// </summary> 6 public string success { get; set; } 7 /// <summary> 8 /// 錯誤信息 9 /// ...
  • 0. 前言 前幾天FreeSql的作者向我推薦了FreeSql框架,想讓我幫忙寫個文章介紹一下。嗯,想不到我也能帶個貨了。哈哈,開個玩笑~看了下覺得設計的挺有意思的,所以就謝了這篇文章。 簡單介紹一下,FreeSql 是NCC組織的沙盒級項目,是一款功能強大的 ORM 組件,支持 .NET Core ...
  • 0. 前言 這是一個新的系列,名字是《ASP.NET Core 入門到實戰》。這個系列主講ASP.NET Core MVC,輔助一些前端的基礎知識(能用來實現我們需要的即可,並非主講)。同時這個系列也會在後續介紹ASP.NET Core 平臺的其它類型的項目,並帶領大家以各個類型的項目為主要架構開發 ...
  • 我寫了一個Winform測試程式,用的System.Timers.Timer,在事件里,設置label1.Text,然後,居然句柄泄漏、用戶對象泄漏! 百思不得其解,最後換成System.Windows.Forms.Timer,居然不泄漏了! 最近睡眠不足,哪怕一個很小的問題,隨便搞搞,都半夜了! ...
  • leetcode-7. 整數反轉。 給出一個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。 示例 1: 輸入: 123 輸出: 321 示例 2: 輸入: -123 輸出: -321 示例 3: 輸入: 120 輸出: 21 註意: 假設環境只能存儲得下 32 位的有符號整數,則其 ...
  • 1. Java 虛擬機是什麼? 1.1 虛擬機 虛擬機:虛擬的電腦,一個用來執行虛擬電腦指令的軟體。 虛擬機分為系統虛擬機和程式虛擬機。 系統虛擬機:提供一個可運行完整操作系統的軟體平臺,如 Visual Box、VMware。 程式虛擬機:專門執行單個程式的,典型代表 Java 虛擬機。Jav ...
  • 前言 - strlen 概述 無意間掃到 glibc strlen.c 中代碼, 久久不能忘懷. 在一無所知的編程生涯中又記起點點滴滴: 編程可不是兒戲 ❀, 有些難, 也有些不捨. 隨軌跡一同重溫, 曾經最熟悉的 strlen 手感吧 ~ /* Copyright (C) 1991-2020 Fr ...
  • 背景 隊列[Queue]:是一種限定僅在表頭進行刪除操作,僅在表尾進行插入操作的線性表;即先進先出(FIFO-first in first out):最先插入的元素最先出來。 本文通過編碼實現鏈式隊列類,並模擬一個有趣的應用,能夠幫助我們對鏈式隊列有更深度的理解。 基本概念 結點 每個元素,除了存儲 ...