R語言 向量化計算(apply族函式)

2021-10-02 03:52:23 字數 2364 閱讀 2942

# 獲取內建資料

data

print(data)

##                 mpg cyl disp  hp drat

## mazda rx4 21.0 6 160 110 3.90

## mazda rx4 wag 21.0 6 160 110 3.90

## datsun 710 22.8 4 108 93 3.85

## hornet 4 drive 21.4 6 258 110 3.08

# 對資料框每行求和

print(a1)

##      mazda rx4  mazda rx4 wag     datsun 710 hornet 4 drive 

## 300.90 300.90 231.65 398.48

# 對資料框每列求均值

print(a2)

##      mpg      cyl     disp       hp     drat 

## 21.5500 5.5000 171.5000 105.7500 3.6825

# 自定義函式(求極差)

func

# 對資料框每列求極差

print(a3)

##    mpg    cyl   disp     hp   drat 

## 1.80 2.00 150.00 17.00 0.82

class(s1)

## [1] "matrix"
如果不想讓計算的結果自動合併成矩陣,可以設定simplify=f,將返回乙個列表,列表的每個元件包含了data資料框每列的range函式計算結果。

class(s2)

## [1] "list"
# 定義乙個資料框組成的list

df_list

b=airquality[1:3,1:4],

c=iris[1:3,1:4])

# 自定義函式(求資料框歐氏距離的最大值)

max_func

print(s3)

##          a          b          c 

## 54.7744466 72.3488770 0.5385165

# 求每一列的均值

print(l1)

## $mpg

## [1] 21.55

## ## $cyl

## [1] 5.5

## ## $disp

## [1] 171.5

## ## $hp

## [1] 105.75

## ## $drat

## [1] 3.6825

class(l1)
## [1] "list"
a 

b c

print(m1)

## [1]   6  24  60 120 210
# 資料框

group_df

print(group_df)

##   value label

## 1 1 a

## 2 2 b

## 3 3 a

## 4 4 b

## 5 5 a

## 6 6 b

# 按照label分組計算value和

R語言的向量化程式設計思維

1.計算缺失值比例 perna mean is.na data1 2.按值替換 which返回值是符合條件的下標 naidx which data2 3 data2 8 data2 naidx na 3.找到連續不變且長度超過50的數值片段的起 始行號和片段的總長度。judger1 x v 2 nr...

R語言 apply函式族

作用目標 在每個元素上應用 在子集合上應用 array listby 在array上,沿margin方向,依次呼叫 fun,返回結果通常為array型別,如果返回值的向量長度不等,則返回list物件。margin表示陣列引用的第幾維下標 即array index1,index2,中的第幾個index...

1 2 3 使用向量化進行加速計算

向量化通常是消除你 中顯式for迴圈語句的藝術。那麼具體什麼是向量化呢?我們以 z wtx b 為例,在這個例子中,如果有很多的資料,那麼w和x以及b都是n維列向量。如所示,左側是用非向量化的陣列來實現的,它的計算效率很慢。而右側是用了numpy,直接是向量化的去實現,計算效率就快很多。實際上num...