2017-07-20 9 views
0

data.frameの行を単純な関数(たとえば[sqrt(column1 * column 2)]など)で計算したいと考えています。これが私の機能です。私はdと呼ばれる新しい列を作成する関数を計算したい17の行を持っています。Data.frame行の計算

どのように作成するのですか?結合? t(x)で、data.frameを行列に変換しますか?またはどの機能を使用していますか?私はそれがまだdata.frame(テーブルとして)を持ってほしいです。

+1

ハブあなたは 'sqrt(column1 * column 2)'のようなものを試しましたか?あなたはおそらくイントロを見てみるべきでしょう。公式イントロマニュアルは次のとおりです:https://cran.r-project.org/doc/manuals/r-release/R-intro.html。それはちょっと乾いていますが、付録Aを読む価値はあります。 – lmo

答えて

1

あなたがから選択するいくつかのオプションがあります:

ベースR

df$d <- sqrt(df$column1^2 +df$column2^2) 
#or 
transform(df, d=sqrt(column1^2+column2^2)) 

Tidyverse

library(tidyverse) 

df <- df %>% 
    mutate(d = sqrt(column1^2+column2^2)) 

head(df) 

すべてのこれらのメソッドは、データフレームとしてデータを保存し

+0

なぜですか?それがなければ行えなかったあなたの答えに何かを加えるか、あるいは「突然変異させる」ことが答えに追加されますか? –

+0

個人的には、この場合、 'iris $ d < - sqrt(iris $ Petal.Length^2 + iris $ Petal.Width^2) 'の基底R解が等しくなるが、構文がわかりやすい。 –

+0

ベースRには、 'transform'(iris、NewColumn = sqrt(Petal.Length^2 + Petal.Width^2))などの' with'や 'transform'のような、 。それはあなたのために十分に簡単ですか? –