Video: Cover Lagu " ENDE PANGURASAN" 2025
Setiap kali, anda menggabungkan vektor dengan pelbagai nilai dan satu dengan satu nilai dalam fungsi. R mengaplikasikan fungsi itu, menggunakan nilai tunggal untuk setiap nilai dalam vektor. Tetapi kitar semula jauh melebihi contoh-contoh ini.
Pada bila-bila masa anda memberikan dua vektor dengan panjang yang tidak sama dengan fungsi kitar semula, R mengulangi vektor terpendek sekerap yang diperlukan untuk melaksanakan tugas yang anda minta untuk dilakukan.
Anggap anda memisahkan jumlah bakul Granny yang dibuat menjadi dua mata dan tiga petunjuk: >> Granny. pointer <- c (10, 2, 4, 0, 4, 1, 4, 2, 7, 2, 1, 2)
Anda mengatur nombor sedemikian rupa sehingga setiap permainan, Penunjuk diberi, diikuti dengan jumlah tiga pointer.
Sekarang Granny ingin mengetahui berapa banyak mata yang sebenarnya dia menjaringkan musim ini. Anda boleh mengira dengan mudah dengan bantuan kitar semula:
Anda membuat vektor dengan bilangan mata bagi setiap keranjang:
c (2, 3)
-
Anda memberitahu R untuk memperbanyak vektor tersebut oleh Granny vektor. petunjuk
.
-
R didarab nombor pertama dalam Granny. petunjuk oleh 2, yang kedua dengan 3, yang ketiga dengan 2 lagi, dan sebagainya. Anda meletakkan hasilnya pada titik berubah.
-
Anda menyimpulkan semua nombor dalam mata untuk mendapatkan jumlah markah yang dijumlahkan.
Sebenarnya, anda hanya boleh keluar Langkah 3. Sarang fungsi membolehkan anda melakukan ini dalam satu baris kod: >> sum (Granny pointers * c (2, 3)) -
Kitar semula boleh jadi agak rumit. Jika panjang vektor yang lebih lama tidak sama dengan beberapa vektor yang lebih pendek, anda boleh mendapatkan hasil yang tidak dijangka.
Sekarang Granny ingin tahu betapa dia membaikinya setiap permainan. Menjadi malas, anda mempunyai rancangan licik. Dengan diff (), anda mengira betapa lebih banyak atau sedikit bakul Granny dibuat daripada yang dia buat dalam permainan sebelum ini. Kemudian anda menggunakan bahagian vektor untuk membahagikan perbezaan ini dengan jumlah bakul dalam permainan. Untuk mengatasinya, anda darab dengan 100 dan pusingan keseluruhan vektor. Semua pengiraan ini mengambil satu baris kod: >> pusingan (diff (bakul dari Granny) / bakul dari Granny * 100) 1st 2nd 3rd 4th 5th 6th -67 25 20 50 -67 -267
Nilai terakhir tidak kelihatan betul, kerana tidak mungkin untuk mencetak lebih dari 100 persen bakul yang kurang. R tidak hanya memberikan anda hasil yang pelik; ia juga memberi amaran kepada anda bahawa panjang diff (bakul dari Granny) tidak sesuai dengan panjang bakul. daripada. Nenek:
Mesej amaran: Diff (bakul dari Nenek) / bakul.daripada. Nenek: panjang objek yang lebih lama tidak berganda panjang objek yang lebih pendek
Bakul vektor. daripada. Nenek adalah enam nilai panjang, tetapi hasil daripada diff (bakul dari Granny) hanya lima nilai yang panjang. Jadi penurunan 267 peratus sebenarnya adalah nilai terakhir bakul. daripada. Granny dibahagikan dengan nilai pertama diff (bakul dari Granny). Dalam contoh ini, vektor terpendek, diff (bakul dari Granny), mendapat dikitar semula oleh pengendali bahagian.
Hasilnya bukan apa yang anda maksudkan. Untuk mengelakkan hasil itu, anda hanya perlu menggunakan lima nilai bakul pertama. daripada. Nenek, jadi panjang kedua vektor perlawanan: >> bulat (diff (bakul dari Nenek) / bakul Nenek [1: 5] * 100) 2nd ke-4 ke-4 5 6 -67 25 20 50 -67
Dan semua itu adalah vektorisasi.
