在 R 中进行立方根和对数转换
Taking cube root and log transformation in R
我有一个 table,其中的行名称对应于一组人及其相应的体重估计值。例如,假设矩阵 "mass estimate" 具有以下值:
Name Mass
1 person_a 234
2 person_b 190
3 person_c 203
4 person_d 176
我将如何在一行 R 代码中获取质量的立方根,然后对它们进行对数转换?
我不确定如何以 table 格式询问上面的数据,因为最后一个问题显示在一行中。第一列显示 "Name",第二列显示 "Mass"。每行都有一个名称 (person_a) 和质量 (234)。
谢谢!
# Sample matrix
mat <- matrix(runif(20), ncol = 5);
# log10-transform the cube root of all entries
mat.trans <- log10(mat^(1/3))
或者用你的dataframe
例子(不与matrix
相同):
df <- read.table(text =
"Name Mass
1 person_a 234
2 person_b 190
3 person_c 203
4 person_d 176", sep = "");
# log10-transform the cube root
df$transMass <- log10(df$Mass^(1/3));
# Name Mass transMass
#1 person_a 234 0.7897386
#2 person_b 190 0.7595845
#3 person_c 203 0.7691653
#4 person_d 176 0.7485042
假设您有数据框 df
和名为 Mass
的变量,您可以使用:
df$New<-log10(df$Mass^(1/3))
我有一个 table,其中的行名称对应于一组人及其相应的体重估计值。例如,假设矩阵 "mass estimate" 具有以下值:
Name Mass
1 person_a 234
2 person_b 190
3 person_c 203
4 person_d 176
我将如何在一行 R 代码中获取质量的立方根,然后对它们进行对数转换?
我不确定如何以 table 格式询问上面的数据,因为最后一个问题显示在一行中。第一列显示 "Name",第二列显示 "Mass"。每行都有一个名称 (person_a) 和质量 (234)。
谢谢!
# Sample matrix
mat <- matrix(runif(20), ncol = 5);
# log10-transform the cube root of all entries
mat.trans <- log10(mat^(1/3))
或者用你的dataframe
例子(不与matrix
相同):
df <- read.table(text =
"Name Mass
1 person_a 234
2 person_b 190
3 person_c 203
4 person_d 176", sep = "");
# log10-transform the cube root
df$transMass <- log10(df$Mass^(1/3));
# Name Mass transMass
#1 person_a 234 0.7897386
#2 person_b 190 0.7595845
#3 person_c 203 0.7691653
#4 person_d 176 0.7485042
假设您有数据框 df
和名为 Mass
的变量,您可以使用:
df$New<-log10(df$Mass^(1/3))