فراخوانی کتابخانه ها و
آماده سازی
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(readr)
بارگزاری دیتا فریم
emot <- read_csv("E:\\Acoustic features.csv")
## Rows: 400 Columns: 51
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Class
## dbl (50): _RMSenergy_Mean, _Lowenergy_Mean, _Fluctuation_Mean, _Tempo_Mean, ...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(emot)
اطلاعات نوع داده
class(emot)
## [1] "spec_tbl_df" "tbl_df" "tbl" "data.frame"
خلاصه داده
glimpse(emot)
## Rows: 400
## Columns: 51
## $ Class <chr> "relax", "relax", "re…
## $ `_RMSenergy_Mean` <dbl> 0.052, 0.125, 0.046, …
## $ `_Lowenergy_Mean` <dbl> 0.591, 0.439, 0.639, …
## $ `_Fluctuation_Mean` <dbl> 9.136, 6.680, 10.578,…
## $ `_Tempo_Mean` <dbl> 130.043, 142.240, 188…
## $ `_MFCC_Mean_1` <dbl> 3.997, 4.058, 2.775, …
## $ `_MFCC_Mean_2` <dbl> 0.363, 0.516, 0.903, …
## $ `_MFCC_Mean_3` <dbl> 0.887, 0.785, 0.502, …
## $ `_MFCC_Mean_4` <dbl> 0.078, 0.397, 0.329, …
## $ `_MFCC_Mean_5` <dbl> 0.221, 0.556, 0.287, …
## $ `_MFCC_Mean_6` <dbl> 0.118, 0.799, 0.140, …
## $ `_MFCC_Mean_7` <dbl> -0.151, -0.403, -0.24…
## $ `_MFCC_Mean_8` <dbl> -0.131, -0.264, 0.025…
## $ `_MFCC_Mean_9` <dbl> 0.129, -0.057, -0.112…
## $ `_MFCC_Mean_10` <dbl> 0.154, 0.288, -0.422,…
## $ `_MFCC_Mean_11` <dbl> 0.274, 0.309, 0.018, …
## $ `_MFCC_Mean_12` <dbl> 0.232, 0.049, 0.179, …
## $ `_MFCC_Mean_13` <dbl> 0.246, 0.027, 0.138, …
## $ `_Roughness_Mean` <dbl> 51.542, 336.839, 39.8…
## $ `_Roughness_Slope` <dbl> 0.325, 0.366, 0.224, …
## $ `_Zero-crossingrate_Mean` <dbl> 403.129, 204.886, 685…
## $ `_AttackTime_Mean` <dbl> 0.028, 0.015, 0.033, …
## $ `_AttackTime_Slope` <dbl> -0.014, -0.079, -0.27…
## $ `_Rolloff_Mean` <dbl> 1844.664, 1181.067, 1…
## $ `_Eventdensity_Mean` <dbl> 1.336, 1.336, 1.336, …
## $ `_Pulseclarity_Mean` <dbl> 0.082, 0.051, 0.299, …
## $ `_Brightness_Mean` <dbl> 0.173, 0.117, 0.496, …
## $ `_Spectralcentroid_Mean` <dbl> 1121.368, 896.047, 41…
## $ `_Spectralspread_Mean` <dbl> 1970.389, 1959.622, 4…
## $ `_Spectralskewness_Mean` <dbl> 3.621, 4.134, 0.902, …
## $ `_Spectralkurtosis_Mean` <dbl> 18.037, 21.990, 2.366…
## $ `_Spectralflatness_Mean` <dbl> 0.030, 0.025, 0.091, …
## $ `_EntropyofSpectrum_Mean` <dbl> 0.806, 0.765, 0.897, …
## $ `_Chromagram_Mean_1` <dbl> 0.496, 0.000, 0.412, …
## $ `_Chromagram_Mean_2` <dbl> 0.000, 0.142, 0.245, …
## $ `_Chromagram_Mean_3` <dbl> 0.047, 0.137, 0.526, …
## $ `_Chromagram_Mean_4` <dbl> 0.030, 0.076, 0.095, …
## $ `_Chromagram_Mean_5` <dbl> 0.314, 0.112, 0.519, …
## $ `_Chromagram_Mean_6` <dbl> 0.038, 0.000, 0.001, …
## $ `_Chromagram_Mean_7` <dbl> 0.024, 0.120, 0.563, …
## $ `_Chromagram_Mean_8` <dbl> 0.951, 0.000, 0.282, …
## $ `_Chromagram_Mean_9` <dbl> 0.426, 0.002, 0.184, …
## $ `_Chromagram_Mean_10` <dbl> 1.000, 1.000, 0.746, …
## $ `_Chromagram_Mean_11` <dbl> 0.008, 0.000, 0.016, …
## $ `_Chromagram_Mean_12` <dbl> 0.101, 0.984, 1.000, …
## $ `_HarmonicChangeDetectionFunction_Mean` <dbl> 0.316, 0.285, 0.413, …
## $ `_HarmonicChangeDetectionFunction_Std` <dbl> 0.261, 0.211, 0.299, …
## $ `_HarmonicChangeDetectionFunction_Slope` <dbl> 0.018, -0.082, 0.134,…
## $ `_HarmonicChangeDetectionFunction_PeriodFreq` <dbl> 1.035, 3.364, 1.682, …
## $ `_HarmonicChangeDetectionFunction_PeriodAmp` <dbl> 0.593, 0.702, 0.692, …
## $ `_HarmonicChangeDetectionFunction_PeriodEntropy` <dbl> 0.970, 0.967, 0.963, …
تعداد varو
obs
nrow(emot)
## [1] 400
ncol(emot)
## [1] 51
تبدیل متغیر کیفی
emot <- emot |>
mutate(
Class = as.factor(Class)
)
glimpse(emot)
## Rows: 400
## Columns: 51
## $ Class <fct> relax, relax, relax, …
## $ `_RMSenergy_Mean` <dbl> 0.052, 0.125, 0.046, …
## $ `_Lowenergy_Mean` <dbl> 0.591, 0.439, 0.639, …
## $ `_Fluctuation_Mean` <dbl> 9.136, 6.680, 10.578,…
## $ `_Tempo_Mean` <dbl> 130.043, 142.240, 188…
## $ `_MFCC_Mean_1` <dbl> 3.997, 4.058, 2.775, …
## $ `_MFCC_Mean_2` <dbl> 0.363, 0.516, 0.903, …
## $ `_MFCC_Mean_3` <dbl> 0.887, 0.785, 0.502, …
## $ `_MFCC_Mean_4` <dbl> 0.078, 0.397, 0.329, …
## $ `_MFCC_Mean_5` <dbl> 0.221, 0.556, 0.287, …
## $ `_MFCC_Mean_6` <dbl> 0.118, 0.799, 0.140, …
## $ `_MFCC_Mean_7` <dbl> -0.151, -0.403, -0.24…
## $ `_MFCC_Mean_8` <dbl> -0.131, -0.264, 0.025…
## $ `_MFCC_Mean_9` <dbl> 0.129, -0.057, -0.112…
## $ `_MFCC_Mean_10` <dbl> 0.154, 0.288, -0.422,…
## $ `_MFCC_Mean_11` <dbl> 0.274, 0.309, 0.018, …
## $ `_MFCC_Mean_12` <dbl> 0.232, 0.049, 0.179, …
## $ `_MFCC_Mean_13` <dbl> 0.246, 0.027, 0.138, …
## $ `_Roughness_Mean` <dbl> 51.542, 336.839, 39.8…
## $ `_Roughness_Slope` <dbl> 0.325, 0.366, 0.224, …
## $ `_Zero-crossingrate_Mean` <dbl> 403.129, 204.886, 685…
## $ `_AttackTime_Mean` <dbl> 0.028, 0.015, 0.033, …
## $ `_AttackTime_Slope` <dbl> -0.014, -0.079, -0.27…
## $ `_Rolloff_Mean` <dbl> 1844.664, 1181.067, 1…
## $ `_Eventdensity_Mean` <dbl> 1.336, 1.336, 1.336, …
## $ `_Pulseclarity_Mean` <dbl> 0.082, 0.051, 0.299, …
## $ `_Brightness_Mean` <dbl> 0.173, 0.117, 0.496, …
## $ `_Spectralcentroid_Mean` <dbl> 1121.368, 896.047, 41…
## $ `_Spectralspread_Mean` <dbl> 1970.389, 1959.622, 4…
## $ `_Spectralskewness_Mean` <dbl> 3.621, 4.134, 0.902, …
## $ `_Spectralkurtosis_Mean` <dbl> 18.037, 21.990, 2.366…
## $ `_Spectralflatness_Mean` <dbl> 0.030, 0.025, 0.091, …
## $ `_EntropyofSpectrum_Mean` <dbl> 0.806, 0.765, 0.897, …
## $ `_Chromagram_Mean_1` <dbl> 0.496, 0.000, 0.412, …
## $ `_Chromagram_Mean_2` <dbl> 0.000, 0.142, 0.245, …
## $ `_Chromagram_Mean_3` <dbl> 0.047, 0.137, 0.526, …
## $ `_Chromagram_Mean_4` <dbl> 0.030, 0.076, 0.095, …
## $ `_Chromagram_Mean_5` <dbl> 0.314, 0.112, 0.519, …
## $ `_Chromagram_Mean_6` <dbl> 0.038, 0.000, 0.001, …
## $ `_Chromagram_Mean_7` <dbl> 0.024, 0.120, 0.563, …
## $ `_Chromagram_Mean_8` <dbl> 0.951, 0.000, 0.282, …
## $ `_Chromagram_Mean_9` <dbl> 0.426, 0.002, 0.184, …
## $ `_Chromagram_Mean_10` <dbl> 1.000, 1.000, 0.746, …
## $ `_Chromagram_Mean_11` <dbl> 0.008, 0.000, 0.016, …
## $ `_Chromagram_Mean_12` <dbl> 0.101, 0.984, 1.000, …
## $ `_HarmonicChangeDetectionFunction_Mean` <dbl> 0.316, 0.285, 0.413, …
## $ `_HarmonicChangeDetectionFunction_Std` <dbl> 0.261, 0.211, 0.299, …
## $ `_HarmonicChangeDetectionFunction_Slope` <dbl> 0.018, -0.082, 0.134,…
## $ `_HarmonicChangeDetectionFunction_PeriodFreq` <dbl> 1.035, 3.364, 1.682, …
## $ `_HarmonicChangeDetectionFunction_PeriodAmp` <dbl> 0.593, 0.702, 0.692, …
## $ `_HarmonicChangeDetectionFunction_PeriodEntropy` <dbl> 0.970, 0.967, 0.963, …
مشاهده
variable ها
names(emot)
## [1] "Class"
## [2] "_RMSenergy_Mean"
## [3] "_Lowenergy_Mean"
## [4] "_Fluctuation_Mean"
## [5] "_Tempo_Mean"
## [6] "_MFCC_Mean_1"
## [7] "_MFCC_Mean_2"
## [8] "_MFCC_Mean_3"
## [9] "_MFCC_Mean_4"
## [10] "_MFCC_Mean_5"
## [11] "_MFCC_Mean_6"
## [12] "_MFCC_Mean_7"
## [13] "_MFCC_Mean_8"
## [14] "_MFCC_Mean_9"
## [15] "_MFCC_Mean_10"
## [16] "_MFCC_Mean_11"
## [17] "_MFCC_Mean_12"
## [18] "_MFCC_Mean_13"
## [19] "_Roughness_Mean"
## [20] "_Roughness_Slope"
## [21] "_Zero-crossingrate_Mean"
## [22] "_AttackTime_Mean"
## [23] "_AttackTime_Slope"
## [24] "_Rolloff_Mean"
## [25] "_Eventdensity_Mean"
## [26] "_Pulseclarity_Mean"
## [27] "_Brightness_Mean"
## [28] "_Spectralcentroid_Mean"
## [29] "_Spectralspread_Mean"
## [30] "_Spectralskewness_Mean"
## [31] "_Spectralkurtosis_Mean"
## [32] "_Spectralflatness_Mean"
## [33] "_EntropyofSpectrum_Mean"
## [34] "_Chromagram_Mean_1"
## [35] "_Chromagram_Mean_2"
## [36] "_Chromagram_Mean_3"
## [37] "_Chromagram_Mean_4"
## [38] "_Chromagram_Mean_5"
## [39] "_Chromagram_Mean_6"
## [40] "_Chromagram_Mean_7"
## [41] "_Chromagram_Mean_8"
## [42] "_Chromagram_Mean_9"
## [43] "_Chromagram_Mean_10"
## [44] "_Chromagram_Mean_11"
## [45] "_Chromagram_Mean_12"
## [46] "_HarmonicChangeDetectionFunction_Mean"
## [47] "_HarmonicChangeDetectionFunction_Std"
## [48] "_HarmonicChangeDetectionFunction_Slope"
## [49] "_HarmonicChangeDetectionFunction_PeriodFreq"
## [50] "_HarmonicChangeDetectionFunction_PeriodAmp"
## [51] "_HarmonicChangeDetectionFunction_PeriodEntropy"
کاربرد تابع
slice
مشاهده سه ردیف
اول
emot |>
slice(1:3)
## # A tibble: 3 × 51
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean` `_Tempo_Mean`
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 relax 0.052 0.591 9.14 130.
## 2 relax 0.125 0.439 6.68 142.
## 3 relax 0.046 0.639 10.6 188.
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>,
## # `_AttackTime_Mean` <dbl>, `_AttackTime_Slope` <dbl>, …
مشاهده ردیف آخر
emot |>
slice(n())
## # A tibble: 1 × 51
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean` `_Tempo_Mean`
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 angry 0.086 0.475 5.34 152.
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>,
## # `_AttackTime_Mean` <dbl>, `_AttackTime_Slope` <dbl>, …
نمونه گیری تصادفی هفت
ردیف
emot |>
slice_sample(n = 5)
## # A tibble: 5 × 51
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean` `_Tempo_Mean`
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 sad 0.021 0.652 7.52 160.
## 2 relax 0.142 0.534 6.85 82.3
## 3 angry 0.052 0.528 4.86 134.
## 4 happy 0.167 0.582 7.89 190.
## 5 relax 0.1 0.548 5.39 165.
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>,
## # `_AttackTime_Mean` <dbl>, `_AttackTime_Slope` <dbl>, …
مشاهده بیشترین مقدار
تمپو
emot |>
slice_max(`_Tempo_Mean`)
## # A tibble: 1 × 51
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean` `_Tempo_Mean`
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 angry 0.101 0.562 5.90 195.
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>,
## # `_AttackTime_Mean` <dbl>, `_AttackTime_Slope` <dbl>, …
کاربرد تابع
select
بخش های مربوظ به
انرژی صوتی همراه متغیر هدف
emot |>
select(Class,`_RMSenergy_Mean`,`_Lowenergy_Mean`,`_Fluctuation_Mean`)
## # A tibble: 400 × 4
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean`
## <fct> <dbl> <dbl> <dbl>
## 1 relax 0.052 0.591 9.14
## 2 relax 0.125 0.439 6.68
## 3 relax 0.046 0.639 10.6
## 4 relax 0.135 0.603 10.4
## 5 relax 0.066 0.591 9.77
## 6 relax 0.137 0.51 7.66
## 7 relax 0.123 0.533 7.48
## 8 relax 0.103 0.575 7.01
## 9 relax 0.145 0.542 6.85
## 10 relax 0.129 0.618 8.67
## # ℹ 390 more rows
میزان تمپو و متغیر
هدف اول سپس ادامه به ترتیب قبلی
emot |>
select(`_Tempo_Mean`,Class,everything())
## # A tibble: 400 × 51
## `_Tempo_Mean` Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean`
## <dbl> <fct> <dbl> <dbl> <dbl>
## 1 130. relax 0.052 0.591 9.14
## 2 142. relax 0.125 0.439 6.68
## 3 188. relax 0.046 0.639 10.6
## 4 66.0 relax 0.135 0.603 10.4
## 5 88.9 relax 0.066 0.591 9.77
## 6 116. relax 0.137 0.51 7.66
## 7 136. relax 0.123 0.533 7.48
## 8 141. relax 0.103 0.575 7.01
## 9 82.0 relax 0.145 0.542 6.85
## 10 93.0 relax 0.129 0.618 8.67
## # ℹ 390 more rows
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>, …
مشاهده متغیر هایی که
با کلمه R شروع میشوند
emot |>
select(starts_with("_R"))
## # A tibble: 400 × 4
## `_RMSenergy_Mean` `_Roughness_Mean` `_Roughness_Slope` `_Rolloff_Mean`
## <dbl> <dbl> <dbl> <dbl>
## 1 0.052 51.5 0.325 1845.
## 2 0.125 337. 0.366 1181.
## 3 0.046 39.9 0.224 10779.
## 4 0.135 354. 0.215 6746.
## 5 0.066 46.9 -0.118 3328.
## 6 0.137 249. 0.04 5093.
## 7 0.123 336. 0.272 887.
## 8 0.103 293. 0.345 8090.
## 9 0.145 738. 0.38 1584.
## 10 0.129 215. 0.185 6397.
## # ℹ 390 more rows
مشاهده متغیر هایی که
با sتمام میشوند
emot |>
select(ends_with("s"))
## # A tibble: 400 × 1
## Class
## <fct>
## 1 relax
## 2 relax
## 3 relax
## 4 relax
## 5 relax
## 6 relax
## 7 relax
## 8 relax
## 9 relax
## 10 relax
## # ℹ 390 more rows
مشاهده متغیر هایی که
در آنها از حروف oug استفاده شده است
emot |>
select(contains("oug"))
## # A tibble: 400 × 2
## `_Roughness_Mean` `_Roughness_Slope`
## <dbl> <dbl>
## 1 51.5 0.325
## 2 337. 0.366
## 3 39.9 0.224
## 4 354. 0.215
## 5 46.9 -0.118
## 6 249. 0.04
## 7 336. 0.272
## 8 293. 0.345
## 9 738. 0.38
## 10 215. 0.185
## # ℹ 390 more rows
کاربرد تابع
arrange
داده هارا بر اساس
میزان تمپو صعودی مرتب کنید
emot |>
arrange(`_Tempo_Mean`)
## # A tibble: 400 × 51
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean` `_Tempo_Mean`
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 sad 0.153 0.554 7.17 48.3
## 2 happy 0.11 0.449 16.2 52.0
## 3 relax 0.084 0.56 8.45 52.8
## 4 relax 0.15 0.567 7.83 52.9
## 5 sad 0.1 0.558 6.04 53.0
## 6 angry 0.151 0.562 5.73 54.5
## 7 angry 0.115 0.587 4.30 54.9
## 8 relax 0.167 0.63 8.21 55.0
## 9 relax 0.129 0.593 6.69 55.3
## 10 happy 0.143 0.505 6.93 58.1
## # ℹ 390 more rows
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>, …
داده ها را بر اساس
میزان تمپو نزولی مرتب کنید
emot |>
arrange(desc(`_Tempo_Mean`))
## # A tibble: 400 × 51
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean` `_Tempo_Mean`
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 angry 0.101 0.562 5.90 195.
## 2 sad 0.085 0.58 6.13 194.
## 3 happy 0.132 0.537 6.85 194.
## 4 happy 0.168 0.604 7.63 192.
## 5 happy 0.167 0.582 7.89 190.
## 6 happy 0.077 0.552 7.35 189.
## 7 happy 0.077 0.552 7.35 189.
## 8 relax 0.109 0.575 6.61 188.
## 9 relax 0.046 0.639 10.6 188.
## 10 happy 0.065 0.512 17.3 188.
## # ℹ 390 more rows
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>, …
کاربرد تابع
filter
آهنگ هایی که تمپو
بالای 150 دارند و تغییرات انرزی بالای 5
emot |>
filter(`_Tempo_Mean` > 150 , `_Fluctuation_Mean` > 5)
## # A tibble: 87 × 51
## Class `_RMSenergy_Mean` `_Lowenergy_Mean` `_Fluctuation_Mean` `_Tempo_Mean`
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 relax 0.046 0.639 10.6 188.
## 2 relax 0.068 0.659 8.58 182.
## 3 relax 0.14 0.522 7.12 158.
## 4 relax 0.068 0.613 6.29 176.
## 5 relax 0.127 0.508 9.59 179.
## 6 relax 0.1 0.548 5.39 165.
## 7 relax 0.123 0.515 6.56 168.
## 8 relax 0.083 0.543 6.06 179.
## 9 relax 0.109 0.575 6.61 188.
## 10 relax 0.093 0.543 10.1 182.
## # ℹ 77 more rows
## # ℹ 46 more variables: `_MFCC_Mean_1` <dbl>, `_MFCC_Mean_2` <dbl>,
## # `_MFCC_Mean_3` <dbl>, `_MFCC_Mean_4` <dbl>, `_MFCC_Mean_5` <dbl>,
## # `_MFCC_Mean_6` <dbl>, `_MFCC_Mean_7` <dbl>, `_MFCC_Mean_8` <dbl>,
## # `_MFCC_Mean_9` <dbl>, `_MFCC_Mean_10` <dbl>, `_MFCC_Mean_11` <dbl>,
## # `_MFCC_Mean_12` <dbl>, `_MFCC_Mean_13` <dbl>, `_Roughness_Mean` <dbl>,
## # `_Roughness_Slope` <dbl>, `_Zero-crossingrate_Mean` <dbl>, …
تعداد آهنگ های
شاد
happy_emot <- emot |>
filter(Class == "happy")
nrow(happy_emot)
## [1] 100
چند درصد داده ها
مربوط به آهنگای شاد است
mean(emot$Class == "happy")*100
## [1] 25
تعداد آهنگ هایی که
غمگین یا خشن هستند
sad_angry_emot <- emot |>
filter(Class %in% c("sad","angry"))
nrow(sad_angry_emot)
## [1] 200
کاردبرد تابع
mutate و transmute
ستونی بسازید که
میزان خشونت صدا نسبت به انرژی کل را نشان دهد
emot <- emot |>
mutate(RbyR = `_Roughness_Mean` / `_RMSenergy_Mean`)
ستونی بسازید که زمان
حمله صدا را به سه دسته تقسیم کند
emot <- emot |>
mutate(Attack_time_type = case_when(
`_AttackTime_Mean` < 0.05 ~ "Short",
`_AttackTime_Mean` < 0.15 ~ "Medium",
TRUE ~ "Long"
))
ستون های جدید که
ساختید را به همراه متغیر هدف نمایش دهید
emot |>
select(Attack_time_type,RbyR,Class)
## # A tibble: 400 × 3
## Attack_time_type RbyR Class
## <chr> <dbl> <fct>
## 1 Short 991. relax
## 2 Short 2695. relax
## 3 Short 867. relax
## 4 Short 2620. relax
## 5 Short 710. relax
## 6 Short 1820. relax
## 7 Medium 2734. relax
## 8 Short 2848. relax
## 9 Short 5089. relax
## 10 Short 1667. relax
## # ℹ 390 more rows
متغیر
tempo_metr را طوری بسازید که آهنگ ها را بر اساس میزان تمپو
به سه دسته Low , Medium و High
تقسیم بندی کند و آن را همرا با ستون متغیر هدف در دیتاستی جدید نمایش
دهد
emot |>
transmute(
Class,
tempo_metr = case_when(
`_Tempo_Mean` < 90 ~ "Low",
`_Tempo_Mean` < 130 ~ "Medium",
TRUE ~ "High"
)
)
## # A tibble: 400 × 2
## Class tempo_metr
## <fct> <chr>
## 1 relax High
## 2 relax High
## 3 relax High
## 4 relax Low
## 5 relax Low
## 6 relax Medium
## 7 relax High
## 8 relax High
## 9 relax Low
## 10 relax Medium
## # ℹ 390 more rows
خلاصه سازی و استفاده
از توابع group_by و summarise
یک جدول خلاصه سازی
شده بسازید که برای هر class تعداد آهنگ ها و
tempo_Mean را نمایش دهد
Tempo_summary <- emot |>
group_by(Class) |>
summarise(
count_song = n(),
avg_tempo = mean(`_Tempo_Mean`, na.rm = TRUE)
) |>
ungroup()
دیدن جدول
Tempo_summary
## # A tibble: 4 × 3
## Class count_song avg_tempo
## <fct> <int> <dbl>
## 1 angry 100 129.
## 2 happy 100 124.
## 3 relax 100 113.
## 4 sad 100 128.