{"id":1221,"date":"2025-10-24T17:01:36","date_gmt":"2025-10-24T14:01:36","guid":{"rendered":"https:\/\/www.facadium.com.tr\/blog\/?p=1221"},"modified":"2025-10-24T17:01:38","modified_gmt":"2025-10-24T14:01:38","slug":"r-programlama-dilinde-degiskenler","status":"publish","type":"post","link":"https:\/\/www.facadium.com.tr\/blog\/r-programlama-dilinde-degiskenler\/","title":{"rendered":"R Programlama Dilinde De\u011fi\u015fkenler"},"content":{"rendered":"\n<div class=\"wp-block-rank-math-toc-block\" id=\"rank-math-toc\"><h2>\u0130\u00e7indekiler<\/h2><nav><ul><li class=\"\"><a href=\"#r-programlama-dilinde-degiskenler\">R Programlama Dilinde De\u011fi\u015fkenler<\/a><\/li><li class=\"\"><a href=\"#1-degisken-nedir\">1. De\u011fi\u015fken Nedir?<\/a><\/li><li class=\"\"><a href=\"#2-gecerli-degisken-tanimlama-kurallari\">2. Ge\u00e7erli de\u011fi\u015fken tan\u0131mlama kurallar\u0131:<\/a><\/li><li class=\"\"><a href=\"#3-atama-operatorleri\">3. Atama Operat\u00f6rleri<\/a><\/li><li class=\"\"><a href=\"#4-degisken-turleri-veri-tipleri\">4. De\u011fi\u015fken T\u00fcrleri (Veri Tipleri)<\/a><\/li><li class=\"\"><a href=\"#5-degiskenin-turunu-kontrol-etme-ve-donusturme\">5. De\u011fi\u015fkenin T\u00fcr\u00fcn\u00fc Kontrol Etme ve D\u00f6n\u00fc\u015ft\u00fcrme<\/a><\/li><li class=\"\"><a href=\"#6-degiskenlerin-kapsami-scope\">6. De\u011fi\u015fkenlerin Kapsam\u0131 (Scope)<\/a><\/li><li class=\"\"><a href=\"#7-degiskenleri-listeleme-silme-ve-bellek-yonetimi\">7. De\u011fi\u015fkenleri Listeleme, Silme ve Bellek Y\u00f6netimi<\/a><\/li><li class=\"\"><a href=\"#8-degisken-adlandirma-stratejileri-best-practices\">8. De\u011fi\u015fken Adland\u0131rma Stratejileri (Best Practices)<\/a><\/li><\/ul><\/nav><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"r-programlama-dilinde-degiskenler\">R Programlama Dilinde De\u011fi\u015fkenler<\/h3>\n\n\n\n<p>R programlama dilinde <strong>de\u011fi\u015fkenler (variables)<\/strong>, verileri saklamak ve \u00fczerinde i\u015flem yapmak i\u00e7in kullan\u0131lan temel yap\u0131lard\u0131r. Bir de\u011fi\u015fken, bellekte belirli bir alan\u0131 temsil eder ve bu alanda bir de\u011fer tutar. Veri analizi, istatistiksel modelleme veya makine \u00f6\u011frenimi projelerinde de\u011fi\u015fkenler, t\u00fcm hesaplamalar\u0131n ve modelleme s\u00fcre\u00e7lerinin temel bile\u015fenidir.<\/p>\n\n\n\n<p>R, <strong>dinamik tipli (dynamically typed)<\/strong> bir dildir. Bu da, bir de\u011fi\u015fkenin t\u00fcr\u00fcn\u00fcn (\u00f6rne\u011fin say\u0131sal, karakter, mant\u0131ksal) \u00f6nceden tan\u0131mlanmas\u0131na gerek olmad\u0131\u011f\u0131 anlam\u0131na gelir. De\u011fi\u015fkenin t\u00fcr\u00fc, kendisine atanan de\u011fere g\u00f6re otomatik olarak belirlenir.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-degisken-nedir\"><strong>1. De\u011fi\u015fken Nedir?<\/strong><\/h3>\n\n\n\n<p>Bir de\u011fi\u015fken, bir <strong>isim (identifier)<\/strong> arac\u0131l\u0131\u011f\u0131yla bellekteki bir de\u011fere eri\u015fim sa\u011flar.<br>Matematikte \u201cx = 5\u201d bir e\u015fitlik anlam\u0131na gelirken, programlamada \u201cx &lt;- 5\u201d bir <strong>atama (assignment)<\/strong> i\u015flemidir. Bu ifade, \u201c5 de\u011ferini x adl\u0131 de\u011fi\u015fkene ata\u201d anlam\u0131na gelir. R Programlama Dilinde De\u011fi\u015fkenler \u015fu \u015fekilde ifade edilir.<\/p>\n\n\n\n<p><strong>\u00d6rnek:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x &lt;- 5\ny &lt;- 10\nz &lt;- x + y\nprint(z)\n# &#91;1] 15<\/code><\/pre>\n\n\n\n<p>Burada:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>x, y ve z de\u011fi\u015fkenlerdir.<\/li>\n\n\n\n<li>x + y ifadesi ile aritmetik bir i\u015flem yap\u0131lm\u0131\u015f ve sonu\u00e7 z de\u011fi\u015fkenine atanm\u0131\u015ft\u0131r.<\/li>\n<\/ul>\n\n\n\n<p><strong>De\u011fi\u015fken Tan\u0131mlama Kurallar\u0131<\/strong><\/p>\n\n\n\n<p>R\u2019da de\u011fi\u015fken isimleri belirli kurallara uymal\u0131d\u0131r. Bu kurallar hem okunabilirli\u011fi art\u0131r\u0131r hem de kodun hatas\u0131z \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"2-gecerli-degisken-tanimlama-kurallari\">2. <strong>Ge\u00e7erli de\u011fi\u015fken tan\u0131mlama kurallar\u0131:<\/strong><\/h3>\n\n\n\n<p>Bir de\u011fi\u015fken:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Harf (A\u2013Z veya a\u2013z) ile ba\u015flamal\u0131d\u0131r.<\/li>\n\n\n\n<li>Harf, say\u0131 veya \u201c_\u201d (alt \u00e7izgi) karakteri i\u00e7erebilir.<\/li>\n\n\n\n<li>B\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131d\u0131r. (data ve Data farkl\u0131 de\u011fi\u015fkenlerdir.)<\/li>\n\n\n\n<li>Bo\u015fluk i\u00e7eremez.<\/li>\n\n\n\n<li>R\u2019daki anahtar kelimeler (\u00f6r. if, else, for, TRUE, NULL) de\u011fi\u015fken ad\u0131 olarak kullan\u0131lamaz.<\/li>\n<\/ul>\n\n\n\n<p><strong>Hatas\u0131z \u00d6rnek:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>age &lt;- 25\nstudent_name &lt;- \"Onur\"\nData2025 &lt;- c(12, 15, 18)\ntemperature_C &lt;- 21.5<\/code><\/pre>\n\n\n\n<p><strong>Hatal\u0131 \u00d6rnek<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>2value &lt;- 10     # say\u0131 ile ba\u015flayamaz\nstudent name &lt;- \"Ali\"  # bo\u015fluk i\u00e7eremez\nTRUE &lt;- 1        # rezerve edilmi\u015f bir kelime<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"3-atama-operatorleri\">3. <strong>Atama Operat\u00f6rleri<\/strong><\/h3>\n\n\n\n<p>R\u2019da de\u011fi\u015fkenlere de\u011fer ataman\u0131n birden fazla yolu vard\u0131r. En yayg\u0131n kullan\u0131lan operat\u00f6r &lt;- i\u015faretidir.<\/p>\n\n\n\n<p><strong>Kullan\u0131lan Atama Bi\u00e7imleri:<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Operat\u00f6r<\/strong><\/td><td><strong>A\u00e7\u0131klama<\/strong><\/td><td><strong>\u00d6rnek<\/strong><\/td><\/tr><\/thead><tbody><tr><td>&lt;-<\/td><td>Sol y\u00f6nl\u00fc atama (en yayg\u0131n)<\/td><td>x &lt;- 10<\/td><\/tr><tr><td>-&gt;<\/td><td>Sa\u011f y\u00f6nl\u00fc atama<\/td><td>10 -&gt; x<\/td><\/tr><tr><td>=<\/td><td>E\u015fitlik operat\u00f6r\u00fc (fonksiyon i\u00e7i kullan\u0131l\u0131r)<\/td><td>x = 10<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>Not:<\/strong> R toplulu\u011funda standart yakla\u015f\u0131m x &lt;- 10 bi\u00e7imidir. Bu, kodun daha okunabilir ve R standartlar\u0131na uygun olmas\u0131n\u0131 sa\u011flar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"4-degisken-turleri-veri-tipleri\">4. <strong>De\u011fi\u015fken T\u00fcrleri (Veri Tipleri)<\/strong><\/h3>\n\n\n\n<p>R\u2019da bir de\u011fi\u015fken, kendisine atanan de\u011fere g\u00f6re otomatik olarak belirli bir <strong>veri tipine<\/strong> sahip olur. En temel veri t\u00fcrleri \u015funlard\u0131r:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Veri T\u00fcr\u00fc<\/strong><\/td><td><strong>A\u00e7\u0131klama<\/strong><\/td><td><strong>\u00d6rnek<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Numeric<\/strong><\/td><td>Say\u0131sal de\u011ferler (tam veya ondal\u0131kl\u0131)<\/td><td>x &lt;- 3.14<\/td><\/tr><tr><td><strong>Integer<\/strong><\/td><td>Tam say\u0131lar (L son ekiyle)<\/td><td>y &lt;- 10L<\/td><\/tr><tr><td><strong>Character<\/strong><\/td><td>Metin (string) ifadeler<\/td><td>name &lt;- &#8220;Alex&#8221;<\/td><\/tr><tr><td><strong>Logical<\/strong><\/td><td>Mant\u0131ksal de\u011ferler (TRUE\/FALSE)<\/td><td>flag &lt;- TRUE<\/td><\/tr><tr><td><strong>Complex<\/strong><\/td><td>Karma\u015f\u0131k say\u0131lar<\/td><td>z &lt;- 3 + 2i<\/td><\/tr><tr><td><strong>Raw<\/strong><\/td><td>Ham byte verisi<\/td><td>r &lt;- charToRaw(&#8220;R&#8221;)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u00d6rnek:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>a &lt;- 3.14\nb &lt;- \"R Studio\"\nc &lt;- TRUE\nd &lt;- 10L\n\ntypeof(a)   # \"double\"\ntypeof(b)   # \"character\"\ntypeof(c)   # \"logical\"\ntypeof(d)   # \"integer\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"5-degiskenin-turunu-kontrol-etme-ve-donusturme\">5. <strong><strong>De\u011fi\u015fkenin T\u00fcr\u00fcn\u00fc Kontrol Etme ve D\u00f6n\u00fc\u015ft\u00fcrme<\/strong><\/strong><\/h3>\n\n\n\n<p><br>R\u2019da bir de\u011fi\u015fkenin t\u00fcr\u00fcn\u00fc kontrol etmek i\u00e7in is. fonksiyonlar\u0131, d\u00f6n\u00fc\u015ft\u00fcrmek i\u00e7in as. fonksiyonlar\u0131 kullan\u0131l\u0131r.<\/p>\n\n\n\n<p><strong>T\u00fcr Kontrol Fonksiyonlar\u0131:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>is.numeric(3.5)    # TRUE\nis.character(\"data\")  # TRUE\nis.logical(FALSE)  # TRUE<\/code><\/pre>\n\n\n\n<p><strong>T\u00fcr D\u00f6n\u00fc\u015ft\u00fcrme Fonksiyonlar\u0131:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>as.character(25)   # \"25\"\nas.numeric(\"42\")   # 42\nas.logical(0)      # FALSE<\/code><\/pre>\n\n\n\n<p><strong>Uyar\u0131:<\/strong> T\u00fcr d\u00f6n\u00fc\u015f\u00fcm\u00fcnde hatal\u0131 giri\u015fler NA (Not Available) de\u011ferine neden olabilir.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>as.numeric(\"abc\")\n# Warning: NAs introduced by coercion\n# &#91;1] NA<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"6-degiskenlerin-kapsami-scope\">6. <strong>De\u011fi\u015fkenlerin Kapsam\u0131 (Scope)<\/strong><\/h3>\n\n\n\n<p>R\u2019da de\u011fi\u015fkenlerin <strong>eri\u015fim alan\u0131 (scope)<\/strong>, nerede tan\u0131mland\u0131klar\u0131na ba\u011fl\u0131d\u0131r:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Global de\u011fi\u015fkenler:<\/strong> Ana \u00e7al\u0131\u015fma alan\u0131nda (Global Environment) tan\u0131mlan\u0131r ve t\u00fcm script boyunca eri\u015filebilir.<\/li>\n\n\n\n<li><strong>Yerel de\u011fi\u015fkenler:<\/strong> Fonksiyon veya d\u00f6ng\u00fc gibi yap\u0131lar i\u00e7inde tan\u0131mlan\u0131r ve yaln\u0131zca o blok i\u00e7inde ge\u00e7erlidir.<\/li>\n<\/ul>\n\n\n\n<p><strong>\u00d6rnek:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\nmy_function &lt;- function() {\n  y &lt;- 50   # Yerel de\u011fi\u015fken\n  print(y)\n}\n\nmy_function()\n# &#91;1] 50\n\nprint(x)\n# &#91;1] 100\nprint(y)   # Hata: y tan\u0131ml\u0131 de\u011fil<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"7-degiskenleri-listeleme-silme-ve-bellek-yonetimi\">7. <strong>De\u011fi\u015fkenleri Listeleme, Silme ve Bellek Y\u00f6netimi<\/strong><\/h3>\n\n\n\n<p>R \u00e7al\u0131\u015fma alan\u0131ndaki de\u011fi\u015fkenleri y\u00f6netmek i\u00e7in \u015fu komutlar kullan\u0131l\u0131r:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Komut<\/strong><\/td><td><strong>A\u00e7\u0131klama<\/strong><\/td><\/tr><\/thead><tbody><tr><td>ls()<\/td><td>Mevcut de\u011fi\u015fkenleri listeler<\/td><\/tr><tr><td>rm(x)<\/td><td>Belirli bir de\u011fi\u015fkeni siler<\/td><\/tr><tr><td>rm(list = ls())<\/td><td>T\u00fcm de\u011fi\u015fkenleri siler<\/td><\/tr><tr><td>gc()<\/td><td>Bellek temizli\u011fi yapar<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p><strong>\u00d6rnek:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x &lt;- 5\ny &lt;- 10\nls()         # \"x\" \"y\"\nrm(x)\nls()         # \"y\"<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"8-degisken-adlandirma-stratejileri-best-practices\">8. <strong>De\u011fi\u015fken Adland\u0131rma Stratejileri (Best Practices)<\/strong><\/h3>\n\n\n\n<p>Profesyonel R projelerinde, de\u011fi\u015fken isimlendirmesi okunabilirlik ve s\u00fcrd\u00fcr\u00fclebilirlik a\u00e7\u0131s\u0131ndan \u00f6nemlidir. A\u015fa\u011f\u0131daki yakla\u015f\u0131mlar \u00f6nerilir:<\/p>\n\n\n\n<p><strong>Anlaml\u0131 isimler kullan\u0131n:<\/strong><\/p>\n\n\n\n<p>total_sales &lt;- 12000<\/p>\n\n\n\n<p>average_age &lt;- 34.6<\/p>\n\n\n\n<p><strong>K\u00fc\u00e7\u00fck harf ve alt \u00e7izgi kullan\u0131n (snake_case):<\/strong><\/p>\n\n\n\n<p>student_name &lt;- &#8220;Onur&#8221;<\/p>\n\n\n\n<p>data_frame_list &lt;- list()<\/p>\n\n\n\n<p><strong>K\u0131saltmalardan ka\u00e7\u0131n\u0131n:<\/strong><br>ts yerine total_sales gibi a\u00e7\u0131klay\u0131c\u0131 adlar tercih edilmelidir.<\/p>\n\n\n\n<p>De\u011fi\u015fkenler, R programlama dilinin temel yap\u0131 ta\u015flar\u0131ndan biridir. Do\u011fru tan\u0131mlama, uygun t\u00fcr se\u00e7imi ve temiz adland\u0131rma, veri analizi projelerinde hem <strong>okunabilirli\u011fi<\/strong> hem de <strong>performans\u0131<\/strong> art\u0131r\u0131r.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>E\u011fer R Program\u0131n\u0131 indirmek isterseniz&nbsp;<a href=\"https:\/\/www.r-project.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">buraya t\u0131klay\u0131n\u0131z : R: The R Project for Statistical Computing<\/a>&nbsp;\u2013&nbsp;<a href=\"https:\/\/www.r-project.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.r-project.org\/<\/a><\/p>\n\n\n\n<p>E\u011fer R Studio Program\u0131n\u0131 indirmek isterseniz&nbsp;<a href=\"https:\/\/posit.co\/download\/rstudio-desktop\/\" target=\"_blank\" rel=\"noreferrer noopener\">buraya t\u0131klay\u0131n\u0131z:<\/a>&nbsp;<a href=\"https:\/\/posit.co\/download\/rstudio-desktop\/\" target=\"_blank\" rel=\"noreferrer noopener\">RStudio Desktop \u2013 Posit<\/a>&nbsp;\u2013&nbsp;<a href=\"https:\/\/posit.co\/download\/rstudio-desktop\/\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/posit.co\/download\/rstudio-desktop\/<\/a><\/p>\n\n\n\n<p>E\u011fitimlerimize kat\u0131larak bu ve di\u011fer projeleri uygulamal\u0131 olarak \u00f6\u011frenebilirsiniz. E\u011fitimlerimize ve di\u011fer bilgilere&nbsp;<a href=\"https:\/\/www.facadium.com.tr\/\">buradaki linkten<\/a>&nbsp;(<a href=\"https:\/\/www.facadium.com.tr\/\">https:\/\/www.facadium.com.tr\/<\/a>) ula\u015fabilirsiniz. Detayl\u0131 bilgi i\u00e7in l\u00fctfen bizlere 0553 377 29 28 numaral\u0131 telefondan ya da info@facadium.com.tr mail adresinden ula\u015f\u0131n\u0131z.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>R Programlama Dilinde De\u011fi\u015fkenler R programlama dilinde de\u011fi\u015fkenler (variables), verileri saklamak ve \u00fczerinde i\u015flem yapmak i\u00e7in kullan\u0131lan temel yap\u0131lard\u0131r. Bir de\u011fi\u015fken, bellekte belirli bir alan\u0131 [&#8230;]<\/p>\n","protected":false},"author":3,"featured_media":1223,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[151],"tags":[164,165,152,167,166],"class_list":["post-1221","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-r-ile-veri-analizi","tag-degiskenler","tag-programlama","tag-r","tag-r-programlama-dilinde-degiskenler","tag-yazilim-dili"],"_links":{"self":[{"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1221","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/comments?post=1221"}],"version-history":[{"count":3,"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1221\/revisions"}],"predecessor-version":[{"id":1227,"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/posts\/1221\/revisions\/1227"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/media\/1223"}],"wp:attachment":[{"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/media?parent=1221"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/categories?post=1221"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.facadium.com.tr\/blog\/wp-json\/wp\/v2\/tags?post=1221"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}