NULL döndüren fonksiyonları uygula
Önceki egzersizlerin tümünde, vektörler ve listeler üzerinde uygulanan fonksiyonların gerçekten anlamlı bir sonuç döndürdüğü varsayılmıştı. Örneğin, tolower() fonksiyonu karakterleri küçük harfe çevirerek dizgileri geri döndürür. Bu her zaman böyle olmayabilir. Diyelim ki bir listenin her öğesinin yapısını görüntülemek istiyorsun. Bunun için NULL döndüren str() fonksiyonunu kullanabilirsin:
lapply(list(1, "a", TRUE), str)
Bu çağrı aslında, giriş listesinin boyutuyla aynı boyutta ve tüm öğeleri NULL olan bir liste döndürür. Öte yandan, aşağıdaki çağrı
str(TRUE)
tek başına çalıştırıldığında NULL yerine yalnızca mantıksal değerin yapısını konsola yazdırır. Bunun sebebi, str() fonksiyonunun arka planda invisible() kullanmasıdır; bu da bu durumda NULL olan dönüş değerinin görünmez bir kopyasını döndürür. Böylece, str() sonucuna bir atama yapılmadığında çıktının yazdırılması engellenir.
Aşağıdaki kod bloğu ne döndürür (split_low çalışma alanında zaten mevcut)? Konsolda çalıştırmadan önce sonucu akıl yürütmeye çalış!
lapply(split_low, function(x) {
if (nchar(x[1]) > 5) {
return(NULL)
} else {
return(x[2])
}
})
Bu egzersiz
Orta Düzey R
kursunun bir parçasıdırUygulamalı interaktif egzersiz
İnteraktif egzersizlerimizden biriyle teoriyi pratiğe dökün
Egzersizi başlat