o read.table()
(örneğin bir mikrodizilimin açıklama tablosunu) bir sekme ayrılmış dosya okuyabilecek aşağıdaki hatayı dönen değilken:Read.csv vs read.table
Error in scan(file, what, nmax, sep, dec, quote, skip, nlines, na.strings, :
line xxx did not have yyy elements
read.csv()
, aynı dosya üzerinde hatasız şekilde mükemmel çalışır. Ayrıca read.csv()
'un hızının da read.table()
'dan daha yüksek olduğunu düşünüyorum.
Daha da çok: read.table()
çok çılgın bir dosya okumayı yapıyor. Satırı 100 okurken bu hatayı yapar, ancak aynı dosyanın başından hemen sonra 90 - 110 satırlarını kopyalayıp yapıştırdığımda, hala satır 100 + 21 (başlangıçta kopyalanan yeni satırlar) hatası yapar. Bu satırla ilgili bir sorun varsa, neden yapıştırılan satırı en baştan okurken bu hatayı rapor etmiyor? read.csv()
'un aynı dosyayı hata olmadan okuduğunu onaylıyorum.
read.table()
neden read.csv()
üzerinde çalıştığı aynı dosyaları okuyamayan bir fikriniz var mı? Ayrıca herhangi bir durumda read.table()
kullanmak için herhangi bir sebep var mı? read.table
civarında oldukça ince bir sarıcıdır;
Ayrıca okumak Tablonuzdaki hiçbir boşluk öğesi varsayarak yardımcı olabilir Büyük dosyalar için neden yavaş görünebileceğine dair bellek kullanımı altında read.table() için yardım sayfası. – Chase
tekrarlanabilir bir örnek olmadan (güncellenmiş) sorunuza cevap veremiyoruz. En yaygın okuma problemleri (1) tespit edilmemiş yorum karakterleri, (2) eşsiz tırnak işaretleri, (3) 'doluluk = DOĞRU' olduğunda dosyanın ilk 5 satırından sonra satır başına alanların sayısı değişir. Read.csv' ve 'read.table'' 'comment',' quote' ve 'fill' için farklı varsayılan değerlere sahip olduğundan, bunlardan herhangi biri problem olabilir. –
PS, 'comment' /' quote'/'fill' seçeneğinin 8 kombinasyonu vardır: hepsini deneyebilir ve sonuçların nasıl farklılaştığını görebilirdiniz - bu da size cevabı verebilir. count.fields() 'da teşhis için kullanışlıdır. –