rbind() kullanarak birleştirme
Artık sıcaklık verilerinin yapısını ve kapsamını bildiğine göre, sıradaki görev bu nesneleri xts'e dönüştürmek ve rbind() kullanarak birleştirmek olacak.
Bir nesneyi xts'e çevirmeden önce, zaman indeksini oluşturacak sütunu belirlemen ve bunun zaman tabanlı bir nesne olarak kodlandığından emin olman gerekir. Bu durumda, temps_1 ve temps_2 içindeki date sütununun sınıfını kontrol etmek isteyeceksin. Uygun zaman tabanlı indeksi belirledikten sonra, her iki nesneyi de xts'e kodlayıp satır bazında birleştirebilirsin.
temps_1 ve temps_2 nesneleri çalışma alanında mevcut ve xts paketi senin için yüklendi.
Bu egzersiz
Vaka Çalışması: R ile Şehir Zaman Serisi Verilerini Analiz Etme
kursunun bir parçasıdırEgzersiz talimatları
temps_1vetemps_2içindekidatesütunlarının zaman tabanlı nesneler (Date, POSIXct, POSIXlt, yearmon, vb.) olarak kodlandığını kontrol etmek için iki kezclass()kullan.- Sıcaklık veri çerçevelerinin (
temps_1vetemps_2) her birini ayrı bir xts nesnesine kodlamak içinas.xts()kullan.order.byargümanı için ilgili zaman tabanlı sütunu mutlaka belirt. Ayrıcadata[, -column]biçimini kullanarak zaman tabanlı sütunu kaldırmayı unutma. - Yeni xts nesnelerinin doğru biçimlendirildiğini doğrulamak için iki kez
head()kullan. - xts nesnelerini
rbind()ile birleştirerek tek bir nesne oluştur:temps_xts. temps_xtsiçinde ilk yılın son ayının ilk 3 gününe ait verileri bulmak içinfirst()velast()kombinasyonunu kullan.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Confirm that the date column in each object is a time-based class
class(___)
class(___)
# Encode your two temperature data frames as xts objects
temps_1_xts <- as.xts(___[, -4], order.by = ___)
temps_2_xts <- ___
# View the first few lines of each new xts object to confirm they are properly formatted
head(___)
head(___)
# Use rbind to merge your new xts objects
temps_xts <- ___
# View data for the first 3 days of the last month of the first year in temps_xts
___(___(first(___, "1 year"), "1 month"), "___")