Cara melakukan perkalian dengan elemen di r


R sangat baik untuk melakukan perkalian elemen demi elemen antara dua objek.

Contoh berikut menunjukkan cara melakukan perkalian berdasarkan elemen antara berbagai objek di R.

Contoh 1: Mengalikan dua vektor

Kode berikut menunjukkan cara melakukan perkalian elemen dengan dua vektor:

 #createvectors
a <- c(1, 3, 4, 5)
b <- c(2, 2, 3, 3)

#perform element-wise multiplication
a*b

[1] 2 6 12 15

Berikut cara menghitung hasilnya:

  • 1*2= 2
  • 3*2 = 6
  • 4*3 = 12
  • 5*3 = 15

Contoh 2: Kalikan bingkai data dan vektor

Kode berikut menunjukkan cara melakukan perkalian berdasarkan elemen dengan kerangka data dan vektor:

 #define data frame
df <- data. frame (a=c(1, 3, 4, 5),
                 b=c(2, 2, 3, 3))

#view data frame
df

  ab
1 1 2
2 3 2
3 4 3
4 5 3

#definevector
x <- c(2, 5, 5, 8)

#multiply data frame by vector
df*x

   ab
1 2 4
2 15 10
3 20 15
4 40 24

Contoh 3: Kalikan dua bingkai data

Kode berikut menunjukkan cara melakukan perkalian elemen demi elemen antara dua bingkai data:

 #define data frames
df1 <- data. frame (a=c(1, 3, 4, 5),
                  b=c(2, 2, 3, 3))
df2 <- data. frame (c=c(6, 2, 2, 2),
                  d=c(1, 7, 4, 9))

#multiply two data frames
df1*df2

   ab
1 6 2
2 6 14
3 8 12
4 10 27

Perhatikan bahwa blok data yang dihasilkan berukuran sama dengan dua blok data yang kita kalikan.

Perhatikan juga bahwa kita akan menerima kesalahan jika kita mencoba mengalikan dua bingkai data dengan ukuran berbeda:

 #define data frames of unequal sizes
df1 <- data. frame (a=c(1, 3, 4, 5),
                  b=c(2, 2, 3, 3))

df2 <- data. frame (c=c(6, 2, 2),
                  d=c(1, 7, 4))

#attempt to multiply two data frames
df1*df2

Error in Ops.data.frame(df1, df2): 
  '*' only defined for equally-sized data frames

Sumber daya tambahan

Cara melakukan perkalian matriks di R
Cara mengubah matriks menjadi vektor di R
Bagaimana cara mengubah kolom bingkai data menjadi vektor di R

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *