2017-11-28 14 views
-1

人物に対応する行名と対応する体格推定値を持つテーブルがあります。例えば、これらの値を持つ行列「質量推定値を、」言う:キューブルートとログ変換をR

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

どのように私は、Rコードの一行で、大衆の立方根を取るし、それらが対数変換があるのだろうか?

上記のデータを表形式で尋ねる方法がわかりません。最終的な質問には、1行に記載されています。最初の列には「名前」と表示され、2番目の列には「質量」と表示されます。各行には名前(person_a)と質量(234)があります。

ありがとうございます!

+0

例として与えている行列ではありません。期待される出力を備えた[MWE](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)を提供してください。実際の 'matrix'(データフレームではない)があると仮定すると、以下の私のサンプル解決策を見てください。 –

+0

はい、わかりました。リンクとあなたの答えをありがとう! – Simos

答えて

1
# Sample matrix 
mat <- matrix(runif(20), ncol = 5); 

# log10-transform the cube root of all entries 
mat.trans <- log10(mat^(1/3)) 

または(matrixと同じではありません)あなたのdataframe例と:

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 
+0

ありがとう。私はRにはかなり新しいです、そして、この細部は助けます! – Simos

+0

問題ない、@シモスを助けてうれしい。これがあなたの質問に答えた場合は、答えの横にあるチェックマークをクリックして問題を解決することができます。 –

+0

完了します。再度、感謝します。 – Simos

1

あなたがこれを使用することができ、あなたがMassという名前のデータフレームdfと変数を持っていると仮定すると:

df$New<-log10(df$Mass^(1/3)) 
+0

これはうまくいきました、ありがとう – Simos