R: 矩陣運算及常用函式 II
- by: 分組依據。
-
- 必須是一組list格式的資料,list中的每個元素都要跟data frame中的observation數量相當;
- 每個元素可以是外部資料,也可以是x中自身的資料;
- 其中每個elements都會被轉換成factors的格式;
- 可在引數中直接對這組資料進行命名: by = list(Name1 = data serie1, Name2 = data serie2, ...)
- FUN: 統計值的計算方法。
- simplify: 如果為TRUE,返回向量或者矩陣(如果統計結果長度一致),否則返回list。
example 1.2: 呼叫R資料庫: state.x77; state.region,以state.region和變數Frost為分組規則計算各組的均值
> aggregate(state.x77, + list(Region = state.region,
+ Cold = state.x77[,"Frost"] > 130),+ mean)
--------------------------------------------------------------------------------- 2. for class "formula": aggregate(formula, data, FUN, ..., subset, na.action = na.omit) 引數:
- formula & data: 資料集及以此資料集構建的方程。
-
- formula的形式可以是one ~ one, one ~ many, many ~ one, 以及 many ~ many
- formula的形式也可以是 .~one, .~many, one~. 和 many~.
- formula右側為分組規則,左側為將要用FUN來計算的資料
- subset: 非必須變數,可用於指定需要使用的data的子集。
- na.action: 如何處理缺失值,預設為忽略NA。如果不選擇na.omit,則需指定函式去處理NA。
- 經常與xtabs()函式結合使用,其將aggregate的結果變成contingency table
> aggregate(weight ~ feed, data = chickwts, mean)
example 2.2: one ~ many > aggregate(breaks ~ wool + tension, data = warpbreaks, mean)
example 2.3: many ~ one
> aggregate(cbind(Ozone, Temp) ~ Month, data = airquality, mean)
example 2.4: many ~ many
> aggregate(cbind(ncases, ncontrols) ~ alcgp + tobgp, data = esoph, sum)
example 2.5: one ~ . and xtabs()
> ag <- aggregate(len ~ ., data = ToothGrowth, mean) > xtabs(len ~ ., data = ag)--------------------------------------------------------------------------------- 3. for class "ts" (以下公式已經做了簡化處理):
aggregate(x, nfrequency = 1, FUN = sum, ...)引數:
- nfrequency: (輸出結果中)每個單位時間的observation的數量,必須能夠整除x的observation的總數
example 3.1: 計算美國總統每年的平均支援率(以及weighted的支援率)。可以自己嘗試去比較nfrequency變化後輸出結果的變化。> aggregate(presidents, nfrequency = 1, FUN = mean)
> aggregate(presidents, nfrequency = 1, + FUN = weighted.mean, w = c(1, 1, 0.5, 1))-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+- aggregate的功能,也可以通過split+*apply函式實現。以example 1.1為例:
> state <- as.data.frame(state.x77) # state.x77 is a matrice > gr.state <- split(state, state.region) > t(sapply(gr.state, colMeans))
-+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+- aggregate函式的處理方法就是以某種規則將資料分組以後,對各組同時進行相同的統計計算。如果以上無法理解,不妨試著使用一下Excel中的PivotTable功能,類比一下就能弄懂此處aggregate的計算和輸出的邏輯。
相關推薦
R: 矩陣運算及常用函式 II
aggregate也是跟SAC有關係的一個函式(stats包中):先將物件分解為不同的組別(回憶一下split函式),然後分個處理,最後合併顯示。 具體地說,aggregate()函式將資料集(依據指定方法)拆分成不同子集,分別計算各自的統計資料,並(組合)返回計算結果。
R: 矩陣運算及常用函式 III
在”矩陣運算及常用函式I“裡已經提到過,apply系列函式“主要用於某維度上某函式/方法的批量應用”,可以避免“控制流迴圈帶來的高錯誤率以及漫長的響應時間”。 為了比較響應時間,我們可以先做一個簡單的測試:為一列資料做一一系列冪的變形,依據指數的sequence,生成一系
R: 矩陣運算及常用函式 V
當input擴大到三維時,我們有七種方法去分解。可以按面分解,此時只需要明確是哪一面即可,如.margins = 1;可以按線分解,即按三個維度上任意兩個維度的交界線分解,如.margins = c(1,2);也可以逐個單元進行分解,即以三個維度的交界點來進行分解,.margins = 1:3。
R: 矩陣運算及常用函式 I
[[1]] [1] 0.56385004 -0.60344818 -0.81361688 0.35225496 0.02912354 -0.95710764 [7] 1.25629941 0.14222301 -1.03598746 -0.12698964 0.85261162 [[2]] [1]
Cris 的 Python 資料分析筆記 03:NumPy 矩陣運算和常用函式(重點)
03. 矩陣運算和常用函式(重點) 文章目錄 03. 矩陣運算和常用函式(重點) 1. numpy 矩陣判斷和計算 1.1 與運算 1.2 或運算 1.3 或運算作為矩陣索引賦值
數字訊號處理專題(2)——利用FPGA進行基本運算及特殊函式定點運算
一、前言 FPGA以擅長高速並行資料處理而聞名,從有線/無線通訊到影象處理中各種DSP演算法,再到現今火爆的AI應用,都離不開卷積、濾波、變換等基本的數學運算。但由於FPGA的硬體結構和開發特性使得其對很多演算法不友好,之前本人零散地總結和轉載了些基本的數學運算在FPGA中的實現方式,今天做一個系統的總
SQL語法及常用函式
1. INSERT 全列或指定列插入值 INSERT INTO 表名稱 VALUES (值1, 值2,....) INSERT INTO 表名稱 (列1, 列2,...) VALUES (值1, 值2,....) 2. DISTINCT 僅選取唯一不同的值,我們需
MySQL中的聚合函式及常用函式
#----------------------聚合函式(mysql中的內建函式)-------------------- # 在mysql中函式使用select關鍵字呼叫: select 函式名(欄位) 【from 表名】 # 找出最大值:max(欄位名) # 找出use
C++ 連結串列棧及常用函式實現
#include<iostream> using namespace std; typedef struct Node { int data; struct Node* next; }Node; typedef struct Stack { Node* to
python的numpy庫中的矩陣陣列的常用函式
一、基本運算 ndarray可以進行+,-,*,/,//, % 對形狀不相似的陣列也可以進行運算操作的 例: 二、ndarray陣列的運算方法 ndarray.sum([axis,dtype,out,keepdims]) 返回給定軸axis上的
R語言中的常用函式
語言的數學運算和一些簡單的函式整理如下:向量可以進行那些常規的算術運算,不同長度的向量可以相加,這種情況下最短的向量將被迴圈使用。改變編譯環境的語言(英語)Sys.setenv(LANGUAGE="en")> x <- 1:4> a <- 10> x * a[1] 10 20 3
Python學習筆記 —— 字串及常用函式
在Python中沒有單字元型別,所以單個字元也是作為一個字串來使用的 Python字串要求掌握點 引號、雙引號、三引號區別點及使用 轉義字元 字串運算子 字串格式化
Oracle之單表查詢及常用函式
1.語法: select 欄位列表 from 表名 [where 查詢條件] [group by 分組] [having 分組條件] [order by 排序] select * 代表查詢所有的欄位 select
ffmpeg八大模組及常用函式介紹
八大庫 avcodec:編解碼()最重要的庫 avformat:封裝格式處理 avfilter:濾鏡特效處理 avdevice:各種裝置的輸入輸出 avutil:工具庫(大部分哭都需要這個庫的支援)
minigui常用介面美化方法,及常用函式使用
1.獲得子窗體的文字內容 char buff[100]; HWND parent = GetParent(hwnd); //通過子控制元件控制代碼獲得父窗體控制代碼 SendDlgItemMessage(parent,IDC_STRING,MSG_GETTEXT,99,
Numpy常用函式與矩陣運算
1.Numpy的資料結構與一維陣列 ①Numpy的資料結構是ndarray結構 ②對於構造的一維陣列: ve = numpy.array([1, 2, 3, 4]) print(ve.shape)
Python 集合的定義以及常用運算及函數
合取 pan not 必須 rem 沒有 sca 函數 blog 定義(集合內可以有多個元素,但是每個元素都必須是不可變類型,即可hash類型,集合內的元素唯一,集合是無序的): pythons=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘] s1=set(‘hell
矩陣及矩陣運算
http post 右下角 次方 -c 交換 src 元素 行數 矩陣:一個m×n的矩陣就是m×n個數排成m行n列的一個數陣。由於它把許多數據緊湊的集中到了一起,所以有時候可以簡便地表示一些復雜的模型。在數學中,一個矩陣說穿了就是一個二維數組。單位矩陣:從左上角到右下角的對
lambda 、 map 、filter 、reduce 及 reversed 常用函式
lambda 匿名函式 什麼是lambda? lambda 操作符(或 lambda 函式)通常用來建立小巧的,一次性的匿名函式物件。它的基本語法如下: lambda arguments : expression lambda 操作符可以有任意數量的引數,但是它只能有一個表示式,且不能包含任
Oracle中時間日期格式轉換及常用日期函式
我的第一篇部落格,記錄學習,分享生活。 Oracle時間日期格式轉換: 主要有兩種格式,一種為日期格式date,一種為字元格式char。 查詢當前日期: select sysdate from dual; 將日期轉化為字元格式,可以對日期進行一些操作 --顯示所有僱員的姓名和加