2
x <- iris[,1:4]
names(x) <- c("x1","x2","x3","x4")
aggregate(x1+x2+x3+x4~x1,FUN=sum,data=x)

ここに出力があります、私は疑問に思います 1.数式
の意味は何ですか? 2. なぜ 8.5 な のですか?~
x1 = 4.3x1 + x2 + x3 + x4

x1 x1 + x2 + x3 + x4
1 4.3 8.5
2 4.4 26.9
3 4.5 8.4

私が使うとき

 transform(x,x1=sort(x1))

私が得るものは:

     x1  x2  x3  x4  
1   4.3 3.5 1.4 0.2  
2   4.4 3.0 1.4 0.2  
3   4.4 3.2 1.3 0.2  
4   4.4 3.1 1.5 0.2  

(多くの出力 は 省略さ
x1=4.3 ています)x1 + x2 + x3 + x43.5+1.4+0.2=5.14.3+3.5+1.4+0.2=9.4

4

3 に答える 3

8

~左側はaggregate()「集約」されているもの、右側はアイテムを「集約」するために使用されているものです。

あなたの例では、の結果はx1 + x2 + x3 + x4行ごとに計算され、同じ値tuplesで表示されるによって形成されたグループに従って合計されます。x1

したがって、8.5合計されるデータは次のとおりです。

x1 + x2 + x3 + x4 = sum(c(4.3, 3.0, 1.1, 0.1)) = 8.5

あなたの例では、 の行x1 = 4.3は 14 行目です14 4.3 3.0 1.1 0.1

値はすべて合計され、結果の各合計はx1値ごとに集計され、合計のために に送信さFUN=sumれます。

が 1 つしかないためx1 = 4.3、値は単純8.5に になります。これは、14 行目のエントリの合計の結果です。

于 2012-12-29T04:05:19.557 に答える
5

チルダ演算子は記号式を作成します。これは、私ができるよりもよく説明しているブログ投稿からの抜粋です。

f = 価格 ~ カラット

[...]

奇妙に見えるチルダ演算子を使用して式 f を作成することから始めます。これは、すぐに評価される式ではなく、記号式を定義していることを R インタープリターに伝えます。したがって、式 f の定義は、「価格はカラットの関数である」と述べています。

sのマニュアル ページには、チルダ演算子についての詳細が記載されています。

于 2012-12-29T04:10:04.650 に答える
1

2 番目の質問に関して、Iris データ セットには、最初の列が 4.3 である行が 1 つしかありません。その行は次のとおりです。

(x[x[,1]==4.3,])

#     x1 x2  x3  x4
# 14 4.3  3 1.1 0.1

# and 4.3 + 3.0 + 1.1 + 0.1 = 8.5.

sum(x[x[,1]==4.3,])

# [1] 8.5


# There are four rows where x1 = 6.9.  Those rows are:

x[x[,1]==6.9,]

#      x1  x2  x3  x4
# 53  6.9 3.1 4.9 1.5
# 121 6.9 3.2 5.7 2.3
# 140 6.9 3.1 5.4 2.1
# 142 6.9 3.1 5.1 2.3

# and

# 6.9 + 3.1 + 4.9 + 1.5 +
# 6.9 + 3.2 + 5.7 + 2.3 +
# 6.9 + 3.1 + 5.4 + 2.1 +
# 6.9 + 3.1 + 5.1 + 2.3 = 69.4

sum(x[x[,1]==6.9,])

# [1] 69.4

あなたの新しい質問に関して、私は思う

transform(x,x1=sort(x1))

最初の列のみをソートし、他の列は変更されません。この場合、データ セットを変更しています。

4.3+3.5+1.4+0.2=9.4

#      x1  x2  x3  x4
# 1   4.3 3.5 1.4 0.2
# 2   4.4 3.0 1.4 0.2
# 3   4.4 3.2 1.3 0.2
# 4   4.4 3.1 1.5 0.2
# 5   4.5 3.6 1.4 0.2

データセットを変更せずに最初の列の値を増やしてデータセットを並べ替える場合は、次を使用します。

x[order(x$x1),]

#      x1  x2  x3  x4
# 14  4.3 3.0 1.1 0.1
# 9   4.4 2.9 1.4 0.2
# 39  4.4 3.0 1.3 0.2
# 43  4.4 3.2 1.3 0.2
# 42  4.5 2.3 1.3 0.3
于 2012-12-29T04:24:19.073 に答える