Ana içeriğe atla

R’de Temel Programlama Becerileri

DataCamp’in ücretsiz Model a Quantitative Trading Strategy in R kursunun materyallerini kullanarak R’de temel programlama becerilerini pratiğe dökün.
Güncel 3 Eki 2026  · 5 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Ücretsiz Model a Quantitative Trading Strategy in R kursumuzu almak isterseniz, bağlantı burada.

Dosya okuma: read.csv()

Bir hisse senedinin verilerini analiz edebilmeden önce ilk adım, verileri indirmek ve R çalışma alanına yüklemektir. Bir veri kümesini çalışma alanına yüklemek, Excel’de bir veri dosyası açmaya benzer; ardından bunun üzerinde mevcut fonksiyonları çalıştırabiliriz. R’de veri tabloları genellikle veri çerçeveleri adı verilen nesneler olarak kaydedilir.

Bu bölümde, Yahoo Finance’tan indirilen MARUTI isimli bir hissenin verilerini kullanacağız. Verilere şu adresten ulaşılabilir: http://assets.datacamp.com/course/quantinsti/data_ch1.csv. Veri kümesi, 1 Ocak 2008’den 31 Aralık 2013’e kadar Maruti’nin günlük OHLC (Açılış, En Yüksek, En Düşük, Kapanış) ve Hacim verilerini içerir.

Bu alıştırmada, R’de data_maruti adlı yeni bir nesne tanımlayarak başlayacağız. Yeni bir değişken veya nesne tanımlamanın söz dizimi oldukça basittir:

variable_name <- value

Burada variable_name, yeni nesnenin veya değişkenin adı; value ise ona atanan değerdir.

Bir .csv veri dosyasını data_maruti içinde kaydedeceğiz. Bir .csv dosyasını okuyup bir veri çerçevesi olarak kaydetmek için kullanılan fonksiyon read.csv()’dir. Bir fonksiyonu çağırmanın söz dizimi oldukça basittir:

function_name(object1, object2, argument1, argument2, ....)

Burada function_name, fonksiyonun adıdır ve object1, object1 fonksiyonu çalıştırmak istediğiniz nesne veya değişkenlerdir. arguments, fonksiyonu çalıştırırken vermek istediğiniz özelliklerdir.

Bu alıştırmada, bir fonksiyon kullanarak yeni bir değişken oluşturmayı öğreneceğiz.

Yönergeler

  • Örnek olarak sizin için yüklenen dummy veri çerçevesini inceleyin. read.csv() fonksiyonunda üç argüman olduğuna dikkat edin: file, verinin URL’sine eşit; header, dosyanın ilk satırında değişken adlarının olup olmadığını belirten mantıksal değer (bu durumda TRUE); ve stringsAsFactors, tablodaki karakter dizilerinin faktör olarak kaydedilip kaydedilmeyeceğini belirler (bu durumda FALSE).
  • 1 Ocak 2008 ile 31 Aralık 2013 arasındaki Maruti’nin günlük verilerini içeren data_maruti adlı yeni bir değişken oluşturun. header’ın TRUE, stringAsFactors’ın FALSE olarak belirtildiğinden emin olun.
  • Son olarak, yüklediğiniz veri çerçevesinin ilk satırlarını head() fonksiyonunu kullanarak inceleyin. Fonksiyonu çağırmak için head(data_maruti) çalıştırmanız yeterlidir.
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuIiwic2Ft cGxlIjoiXG4jIFRoaXMgaXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhv dyB0byByZWFkIGEgLmNzdiBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxl ID0gXCJodHRwOi8vYXNzZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRp bnN0aS9kYXRhX2NoMS5jc3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0Fz RmFjdG9ycyA9IEZBTFNFKVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUg c2F2ZWQgYXQgJ2h0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9x dWFudGluc3RpL2RhdGFfY2gxLmNzdidcbmRhdGFfbWFydXRpIDwtXG5cbiMg SW5zcGVjdCB0aGUgZGF0YSBmcmFtZSIsInNvbHV0aW9uIjoiXG4jIFRoaXMg aXMgZXhhbXBsZSBjb2RlIHRvIHNob3cgeW91IGhvdyB0byByZWFkIGEgLmNz diBmaWxlXG5kdW1teSA8LSByZWFkLmNzdihmaWxlID0gXCJodHRwOi8vYXNz ZXRzLmRhdGFjYW1wLmNvbS9jb3Vyc2UvcXVhbnRpbnN0aS9kYXRhX2NoMS5j c3ZcIiwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFjdG9ycyA9IEZBTFNF KVxuXG4jIFJlYWQgb3V0IHRoZSAuY3N2IGZpbGUgc2F2ZWQgYXQgJ2h0dHA6 Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2RhdGFf Y2gxLmNzdidcbmRhdGFfbWFydXRpIDwtIHJlYWQuY3N2KGZpbGUgPSBcImh0 dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFudGluc3RpL2Rh dGFfY2gxLmNzdlwiLCBoZWFkZXIgPSBUUlVFLCBzdHJpbmdzQXNGYWN0b3Jz ID0gRkFMU0UpXG5cbiMgSW5zcGVjdCB0aGUgZGF0YSBmcmFtZVxuaGVhZChk YXRhX21hcnV0aSkiLCJzY3QiOiJcbnRlc3RfZXJyb3IoKVxudGVzdF9mdW5j dGlvbihcInJlYWQuY3N2XCIsXCJmaWxlXCIsaW5jb3JyZWN0X21zZyA9IFwi SGF2ZSB5b3Ugc3BlY2lmaWVkIHRoZSA8Y29kZT5maWxlPC9jb2RlPiBhcmd1 bWVudCBjb3JyZWN0bHkgaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9j b2RlPiBmdW5jdGlvbj9cIilcbnRlc3RfZnVuY3Rpb24oXCJyZWFkLmNzdlwi LFwiaGVhZGVyXCIsbm90X2NhbGxlZF9tc2cgPSBcIk1ha2Ugc3VyZSB0byBz ZXQgdGhlIDxjb2RlPmhlYWRlcjwvY29kZT4gYXJndW1lbnQgaW5zaWRlIHRo ZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlvbi5cIiwgaW5jb3Jy ZWN0X21zZyA9IFwiTWFrZSBzdXJlIHRvIHNldCB0aGUgPGNvZGU+aGVhZGVy PC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5UUlVFPC9jb2RlPiBpbnNpZGUg dGhlIDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiKVxudGVz dF9mdW5jdGlvbihcInJlYWQuY3N2XCIsXCJzdHJpbmdzQXNGYWN0b3JzXCIs IG5vdF9jYWxsZWRfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29k ZT5zdHJpbmdzQXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCBpbnNpZGUgdGhl IDxjb2RlPnJlYWQuY3N2KCk8L2NvZGU+IGZ1bmN0aW9uLlwiLCBpbmNvcnJl Y3RfbXNnID0gXCJNYWtlIHN1cmUgdG8gc2V0IHRoZSA8Y29kZT5zdHJpbmdz QXNGYWN0b3JzPC9jb2RlPiBhcmd1bWVudCB0byA8Y29kZT5GQUxTRTwvY29k ZT4gaW5zaWRlIHRoZSA8Y29kZT5yZWFkLmNzdigpPC9jb2RlPiBmdW5jdGlv bi5cIilcbnRlc3Rfb2JqZWN0KFwiZGF0YV9tYXJ1dGlcIixpbmNvcnJlY3Rf bXNnID0gXCJUaGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IHZhcmlhYmxl IGlzIG5vdCBpbml0aWFsaXplZCBhcyBleHBlY3RlZC4gVGFrZSBhIGxvb2sg YXQgdGhlIGhpbnQuXCIpXG50ZXN0X2Z1bmN0aW9uKFwiaGVhZFwiLCBcInhc Iiwgbm90X2NhbGxlZF9tc2cgPSBcIlVzZSB0aGUgZnVuY3Rpb24gPGNvZGU+ aGVhZCgpPC9jb2RlPiB0byBpbnNwZWN0IHRoZSBmaXJzdCByb3cgb2YgPGNv ZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+LlwiLCBpbmNvcnJlY3RfbXNnID0gXCJN YWtlIHN1cmUgdG8gcGFzcyB0aGUgPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+ IHZhcmlhYmxlIHRvIHRoZSBmdW5jdGlvbiA8Y29kZT5oZWFkKCk8L2NvZGU+ LiBUcnkgYWdhaW4uXCIpXG5zdWNjZXNzX21zZyhcIkdyZWF0ISBDaGVjayBv dXQgdGhlIGNvbHVtbiBuYW1lcyBvZiB5b3VyIGRhdGEgc2V0LiBXaGF0IGRv IHlvdSB0aGluayB0aGV5IG1lYW4/XCIpIiwiaGludCI6IlxuUmVhZCB0aGlzIGh0dHA6Ly93d3cuci10dXRvci5jb20vci1pbnRyb2R1Y3Rpb24vZGF0YS1m cmFtZS9kYXRhLWltcG9ydC4ifQ==

Verinize Hızlı Bir Bakış Atın

Artık data_maruti’nin ilk birkaç satırını yazdırmak için kullanılan head() fonksiyonuna aşinasınız.

Bu alıştırmada, veri kümesinin son birkaç satırını, yani kuyruğunu, tail() fonksiyonunu kullanarak yazdıracaksınız. Ayrıca veri kümesinin satır ve sütun sayısını nasıl sorgulayacağınızı öğreneceksiniz.

data_maruti veri çerçevesi çalışma alanına sizin için zaten yüklenmiştir.

Yönergeler

  • data_maruti’nin son altı satırını tail() fonksiyonunu kullanarak yazdırın.
  • data_maruti’deki satır sayısını nrow() fonksiyonunu kullanarak yazdırın.
  • data_maruti’deki sütun sayısını ncol() fonksiyonunu kullanarak yazdırın.
eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuI0Rvd25s b2FkIGRhdGEgc2V0XG5kYXRhX3VybCA9IFwiaHR0cDovL2Fzc2V0cy5kYXRh Y2FtcC5jb20vY291cnNlL3F1YW50aW5zdGkvZGF0YV9jaDEuY3N2XCJcbmRh dGFfbWFydXRpID0gcmVhZC5jc3YoZmlsZSA9IGRhdGFfdXJsLCBoZWFkZXIg PSBUUlVFLCBzdHJpbmdzQXNGYWN0b3JzID0gRkFMU0UpIiwic2FtcGxlIjoi XG4jIFByaW50IGxhc3Qgc2l4IHJvd3Mgb2YgJ2RhdGFfbWFydXRpJ1xuXG5c biMgUHJpbnQgdGhlIG51bWJlciBvZiByb3dzIGluIGBkYXRhX21hcnV0aWBc blxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1ucyBpbiBgZGF0YV9t YXJ1dGlgIiwic29sdXRpb24iOiJcbiMgUHJpbnQgbGFzdCBzaXggcm93cyBv ZiAnZGF0YV9tYXJ1dGknIHVzaW5nIGZ1bmN0aW9uICd0YWlsKCknXG50YWls KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2Ygcm93cyBp biBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICducm93KCknXG5ucm93 KGRhdGFfbWFydXRpKVxuXG4jIFByaW50IHRoZSBudW1iZXIgb2YgY29sdW1u cyBpbiBgZGF0YV9tYXJ1dGlgIHVzaW5nIGZ1bmN0aW9uICduY29sKCknXG5u Y29sKGRhdGFfbWFydXRpKSIsInNjdCI6IlxudFxudGVzdF9lcnJvcigpXG50 ZXN0X2Z1bmN0aW9uKFwidGFpbFwiLCBcInhcIiwgbm90X2NhbGxlZF9tc2cg PSBcIkhhdmUgeW91IHVzZWQgdGhlIGZ1bmN0aW9uIDxjb2RlPnRhaWwoKTwv Y29kZT4/XCIsXG4gICAgICAgICAgICAgIGluY29ycmVjdF9tc2cgPSBcIk1h a2Ugc3VyZSB0byBwYXNzIHRoZSBjb3JyZWN0IGRhdGEgZnJhbWUgdG8gdGhl IDxjb2RlPnRhaWwoKTwvY29kZT4gZnVuY3Rpb24uXCIpXG50ZXN0X2Z1bmN0 aW9uKFwibnJvd1wiLCBcInhcIiwgbm90X2NhbGxlZF9tc2cgPSBcIkhhdmUg eW91IHVzZWQgdGhlIGZ1bmN0aW9uIDxjb2RlPm5jb2woKTwvY29kZT4/XCIs XG4gICAgICAgICAgICAgIGluY29ycmVjdF9tc2cgPSBcIk1ha2Ugc3VyZSB0 byBwYXNzIHRoZSBjb3JyZWN0IGRhdGEgZnJhbWUgdG8gdGhlIDxjb2RlPm5j b2woKTwvY29kZT4gZnVuY3Rpb24uXCIpXG50ZXN0X2Z1bmN0aW9uKFwibmNv bFwiLCBcInhcIiwgbm90X2NhbGxlZF9tc2cgPSBcIkhhdmUgeW91IHVzZWQg dGhlIGZ1bmN0aW9uIDxjb2RlPm5jb2woKTwvY29kZT4/XCIsXG4gICAgICAg ICAgICAgIGluY29ycmVjdF9tc2cgPSBcIk1ha2Ugc3VyZSB0byBwYXNzIHRo ZSBjb3JyZWN0IGRhdGEgZnJhbWUgdG8gdGhlIDxjb2RlPm5jb2woKTwvY29k ZT4gZnVuY3Rpb24uXCIpXG5zdWNjZXNzX21zZyhcIkdyZWF0IGpvYiEgQ29u dGludWUgdG8gdGhlIG5leHQgZXhlcmlzZS5cIiksImhpbnQiOiJcblRoZSBg YHRhaWwoKWBgIGZ1bmN0aW9uIHByaW50cyB0aGUgbGFzdCBzaXggcm93cyBi eSBkZWZhdWx0LCBzbyB0aGVyZSdzIG5vIG5lZWQgdG8gc3BlY2lmeSBhZGRp dGlvbmFsIGFyZ3VtZW50cy4gVGhlIHN5bnRheCB0byBydW4gYSBmdW5jdGlv biBvdmVyIGEgZGF0YSBmcmFtZSBgYGZ1bmN0aW9uX25hbWUoZGZfbmFtZSlg YC4gRm9yIGV4YW1wbGUsIHRvIHJ1biB0aGUgZnVuY3Rpb24gYGBoZWFkKClg YCBvdmVyIGBkYXRhX21hcnV0aWAsIHdlIHNpbXBseSB3cml0ZSBgYGhlYWQo ZGF0YV9tYXJ1dGkpYGAuIn0=

R’de Nesnelerin Türleri, Sınıfları ve Boyutları

R’deki her değişken, kendi türü, sınıfı ve boyutu olan bir nesnedir. Yalnızca birkaç temel değişken türü vardır: sayısal (ör. 5 veya 5.0), karakter (ör. "a") ve mantıksal (ör. TRUE). Boyutlar, nesnenin satır ve sütun sayısını ifade eder. Son olarak, bir nesnenin sınıfı aynı fonksiyonların davranışını değiştirebilir. Örneğin, print() fonksiyonu, bir veri çerçevesi olan değişken için, doğrusal model olan bir değişkenle karşılaştırıldığında farklı davranacaktır.

Bu bölümde çalıştığımız nesne sınıfları vektörler ve veri çerçeveleridir. Daha önce belirtildiği gibi veri çerçeveleri, finansal hesaplamalarda en yaygın kullanılan Excel tablolarına benzer yapılardır. Vektörler ise aynı türde değişkenlerden oluşan tek bir satır veya sütun gibidir. Başka bir deyişle, bir veri çerçevesi vektörlerden oluşur.

Yönergeler

data_maruti nesnesinin türünü, sınıfını ve boyutlarını sırasıyla typeof(), class() ve dim() fonksiyonlarını kullanarak yazdırın. data_maruti veri çerçevesi çalışma alanına zaten yüklenmiştir.

eyJsYW5ndWFnZSI6InIiLCJwcmVfZXhlcmNpc2VfY29kZSI6IlxuZGF0YV91 cmwgPSBcImh0dHA6Ly9hc3NldHMuZGF0YWNhbXAuY29tL2NvdXJzZS9xdWFu dGluc3RpL2RhdGFfY2gxLmNzdlwiXG5kYXRhX21hcnV0aSA9IHJlYWQuY3N2KGZpbGUgPSBkYXRhX3VybCwgaGVhZGVyID0gVFJVRSwgc3RyaW5nc0FzRmFj dG9ycyA9IEZBTFNFKSIsInNhbXBsZSI6IlxuIyBQcmludCB0aGUgY2xhc3Mg b2YgJ2RhdGFfbWFydXRpJ1xuXG5cbiMgUHJpbnQgdGhlIHR5cGUgb2YgJ2Rh dGFfbWFydXRpJ1xuXG5cbiMgUHJpbnQgdGhlIGRpbWVuc2lvbnMgb2YgJ2Rh dGFfbWFydXRpJyIsInNvbHV0aW9uIjoiXG4jIFByaW50IHRoZSBjbGFzcyBv ZiAnZGF0YV9tYXJ1dGknXG5jbGFzcyhkYXRhX21hcnV0aSlcblxuIyBQcmlu dCB0aGUgdHlwZSBvZiAnZGF0YV9tYXJ1dGknXG50eXBlb2YoZGF0YV9tYXJ1 dGkpXG5cbiMgUHJpbnQgdGhlIGRpbWVuc2lvbnMgb2YgJ2RhdGFfbWFydXRp J1xuZGltKGRhdGFfbWFydXRpKSIsInNjdCI6IlxudGVzdF9vdXRwdXRfY29u dGFpbnMoXCJjbGFzcyhkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21zZyA9IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT5jbGFzcygpPC9jb2RlPiBhbmQg cGFzcyBvbiA8Y29kZT5kYXRhX21hcnV0aTwvY29kZT4gYXMgdGhlIGFyZ3Vt ZW50LlwiKVxudGVzdF9vdXRwdXRfY29udGFpbnMoXCJ0eXBlb2YoZGF0YV9t YXJ1dGkpXCIsIGluY29ycmVjdF9tc2cgPSBcIlVzZSB0aGUgZnVuY3Rpb24g PGNvZGU+dHlwZW9mKCk8L2NvZGU+IGFuZCBwYXNzIG9uIDxjb2RlPmRhdGFf bWFydXRpPC9jb2RlPiBhcyB0aGUgYXJndW1lbnQuXCIpXG50ZXN0X291dHB1 dF9jb250YWlucyhcImRpbShkYXRhX21hcnV0aSlcIiwgaW5jb3JyZWN0X21z ZyA9IFwiVXNlIHRoZSBmdW5jdGlvbiA8Y29kZT5kaW0oKTwvY29kZT4gYW5k IHBhc3Mgb24gPGNvZGU+ZGF0YV9tYXJ1dGk8L2NvZGU+IGFzIHRoZSBhcmd1 bWVudC5cIilcbnN1Y2Nlc3NfbXNnKFwiVGhpcyBpcyBnb2luZyB3ZWxsISBX ZSBoYXZlIG5vdyBjb25maXJtZWQgdGhhdCA8Y29kZT5kYXRhX21hcnV0aTwv Y29kZT4gaXMgaW4gZmFjdCBhIGRhdGEgZnJhbWUuIExldCB1cyBub3cgbGVh cm4gdG8gdXNlIHNvbWUgZnVuY3Rpb25zIGluIFIgdG8gY2FsY3VsYXRlIHJl dHVybnMhXCIpIiwiaGludCI6IlxuVGhpcyBpcyBmYWlybHkgYmFzaWMhIEp1 c3QgdXNlIHRoZSBnaXZlbiBmdW5jdGlvbnMgYXMgeW91IGRpZCBpbiBwcmV2 aW91cyBxdWVzdGlvbi4ifQ==


Bu kurstan daha fazlasını öğrenmek isterseniz, bağlantı burada.

DataCamp’in R’de Nesneler ve Sınıflar eğitimine göz atın.

Konular
R
Veri Bilimi

R hakkında daha fazlasını öğrenin

{count, plural, one {Kurs} other {Kurs}}

R’ye Giriş

{hours} sa
3.1M
Vektörler, listeler ve veri çerçeveleri de dahil olmak üzere R'da veri analizinin temellerini öğrenin ve gerçek veri setleriyle R pratiği yapın.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

{count, plural, one {blog} other {blog}}

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

{count, plural, one {blog} other {blog}}

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

{count, plural, one {Eğitim} other {Eğitim}}

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

{count, plural, one {Eğitim} other {Eğitim}}

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör