在 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))