1. ホーム
  2. r

[解決済み】Rで立方根と対数変換をする

2022-02-01 23:07:27

質問

人の集合とそれに対応する推定体格に対応する行名を持つ表があります。例えば、これらの値を持つ行列 "質量推定値" があるとします。

   Name      Mass
1 person_a   234
2 person_b   190
3 person_c   203
4 person_d   176

Rコード1行で、質量の立方根を取り、対数変換させるにはどうしたらよいでしょうか?

最後の質問で上のデータが1行で表示されているので、表形式で質問する方法がわかりません。1列目は"Name"、2列目は"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