标准化或标准化R中的分贝对数刻度
我有以下数据集:标准化或标准化R中的分贝对数刻度,r,dplyr,R,Dplyr,我有以下数据集: dataset <- structure(list(album_name = c("Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.
dataset <- structure(list(album_name = c("Vs.", "Vs.", "Vs.", "Vs.", "Vs.",
"Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Vs.", "Ten", "Ten",
"Ten", "Ten", "Ten", "Ten", "Ten", "Ten", "Ten", "Ten", "Ten"
), track_name = c("Go", "Animal", "Daughter", "Glorified G",
"Dissident", "W.M.A.", "Blood", "Rearviewmirror", "Rats",
"Elderly Woman Behind the Counter in a Small Town",
"Leash", "Indifference", "Once", "Even Flow", "Alive", "Why Go",
"Black", "Jeremy", "Oceans", "Porch", "Garden", "Deep", "Release"
), loudness = c(-7.037, -4.985, -9.686, -5.618, -5.127, -9.335,
-6.377, -5.387, -7.049, -9.461, -5.555, -12.697, -7.695, -6.506,
-6.069, -5.59, -6.457, -6.472, -10.142, -5.69, -6.846, -6.42,
-11.919)), row.names = c(NA, -23L), class = "data.frame")
album_name track_name loudness
1 Vs. Go -7.037
2 Vs. Animal -4.985
3 Vs. Daughter -9.686
4 Vs. Glorified G -5.618
5 Vs. Dissident -5.127
6 Vs. W.M.A. -9.335
7 Vs. Blood -6.377
8 Vs. Rearviewmirror -5.387
9 Vs. Rats -7.049
10 Vs. Elderly Woman Behind the Counter in a Small Town -9.461
11 Vs. Leash -5.555
12 Vs. Indifference -12.697
13 Ten Once -7.695
14 Ten Even Flow -6.506
15 Ten Alive -6.069
16 Ten Why Go -5.590
17 Ten Black -6.457
18 Ten Jeremy -6.472
19 Ten Oceans -10.142
20 Ten Porch -5.690
21 Ten Garden -6.846
22 Ten Deep -6.420
23 Ten Release -11.919
但按对数比例缩放让我怀疑这是否正确。请问,您知道如何标准化或规范化日志刻度吗?如果您想标准化或规范化每个组内的轨迹,您可以使用
dplyr::group\u by
。对于对数刻度,您可能希望进行规格化,使值介于[0,1]之间。标准化包括取值与其最小值(b/c分贝为负)之间的差值,然后除以最小值。我们还必须从1
中减去,以将范围从[-1,0]移动到[0,1]
library(dplyr)
dataset %>%
group_by(album_name) %>%
mutate(loudness_norm = 1 - ((min(loudness) - loudness) / min(loudness))) %>%
ungroup()
library(dplyr)
dataset %>%
group_by(album_name) %>%
mutate(loudness_norm = 1 - ((min(loudness) - loudness) / min(loudness))) %>%
ungroup()