Saya memiliki beberapa peringatan berulang "kolom tidak dikenal" untuk semua jenis perintah (mis. Str (x) untuk menginstal pembaruan pada paket), dan tidak yakin bagaimana cara men-debug ini atau memperbaikinya.
Peringatan "kolom tidak dikenal" jelas terkait dengan variabel dalam tbl_df yang saya beri nama baru, tetapi peringatan muncul di semua jenis perintah yang tampaknya tidak terkait dengan tbl_df (misalnya, menginstal pembaruan pada paket, str (x) di mana x adalah hanya sebuah vektor karakter).
FACEBOOK.1
kolom di salah satu frame data Anda dan apakah Anda menyebutnya dengandf$FACEBOOK.1
suatu tempat dalam skrip R Anda? Dugaan saya yang sederhana adalah bahwa ini adalah kesalahan dalamtibble
paket yang diperkenalkan di v1.1: blog.rstudio.org/2016/07/05/tibble-1-1 . Apakah Anda telahtibble
memuat secara eksplisit?Jawaban:
Ini adalah masalah dengan alat Diagnostik di RStudio (alat yang menunjukkan peringatan dan kemungkinan kesalahan dalam kode Anda). Itu sebagian diperbaiki pada komit ini di RStudio v1.1.103 atau lebih baru oleh @ kevin-ushey . Cara mengatasinya parsial, karena peringatan masih muncul (walaupun dengan frekuensi lebih sedikit). Masalah ini telah dilaporkan dengan contoh yang dapat direproduksi di https://github.com/rstudio/rstudio/issues/7372 dan telah diperbaiki pada permintaan tarik RStudio v1.4 (akan dirilis)
Ada beberapa solusi yang tersedia, pilih solusi yang Anda inginkan:
Nonaktifkan diagnostik kode untuk semua file di Preferensi / Kode / Diagnostik
Nonaktifkan semua diagnostik untuk file tertentu:
Tambahkan di awal file yang dibuka:
Kemudian simpan file dan peringatan akan berhenti muncul.
Nonaktifkan diagnostik untuk variabel yang menyebabkan peringatan
Tambahkan di awal file yang dibuka:
Kemudian simpan file dan peringatan akan berhenti muncul.
Peringatan muncul karena alat diagnostik di RStudio mem-parsing kode sumber untuk mendeteksi kesalahan dan ketika melakukan pemeriksaan diagnostik itu mengakses kolom di tibble Anda yang tidak diinisialisasi, memberikan Peringatan yang kita lihat. Peringatan tidak muncul karena Anda menjalankan hal-hal yang tidak terkait, peringatan itu muncul ketika diagnostik RStudio dijalankan (ketika file disimpan, lalu dimodifikasi, saat Anda menjalankan sesuatu ...).
sumber
Saya telah mengalami masalah yang sama, dan meskipun saya tidak tahu mengapa itu terjadi, saya sudah dapat menjabarkannya ketika itu terjadi, dan dengan demikian mencegahnya terjadi.
Masalahnya tampaknya dengan menambahkan dalam kolom baru, yang berasal dari pengindeksan, dalam kerangka data R dasar vs dalam kerangka data tibble. Ambil contoh ini, tempat Anda menambahkan kolom baru (
age
) ke bingkai data R dasar:Itu bekerja tanpa mengembalikan peringatan. Tetapi ketika hal yang sama dilakukan dengan tibble, ia memberikan peringatan (dan akibatnya, saya pikir menyebabkan masalah peringatan yang aneh, yang tampaknya tidak diprovokasi):
Pasti ada cara yang lebih baik untuk menghindari hal ini, tetapi saya telah menemukan bahwa pertama-tama membuat vektor
NA
s berfungsi:sumber
tbl_df
tampaknya diperlukan untuk menghasilkan peringatan, tapi saya tidak yakin bahwa itu sudah cukup. Yaitu, saya pikir peringatan ini mungkin muncul ketikatbl_df
s digunakan bersama dengan fungsi dari paket tidyverse lainnya (misalnya, tidyr, dplyr). Harga kecil untuk membayar paket paket yang sangat penting, tapi tetap saja aneh / menjengkelkan.NA
s bekerja untuk saya! (RStudio Versi 1.1.456, R versi 3.5.1)NA
, tanggal yang diisi kemudian akan dikonversi ke jenis numerik.as.Date(NA_character_)
memberiNA
dengan kelasDate
.Saya menghadapi masalah ini saat menggunakan paket "dplyr".
Bagi mereka yang menghadapi masalah ini setelah menggunakan fungsi "group_by" di perpustakaan "dplyr":
Saya telah menemukan bahwa memisahkan variabel-variabel memecahkan masalah peringatan kolom yang tidak diketahui. Kadang-kadang saya harus mengulangi beberapa kali ungrouping sampai masalah teratasi.
sumber
Mengubah kelas menjadi
data.frame
memecahkan masalah bagi saya:Meminjam sebagian skrip dari @adts
sumber
Warning message: Unknown or uninitialised column: 'bad_column'
Saya memiliki masalah ini ketika berhadapan dengan fungsi tibble dan lapply bersama-sama. Tibble tampaknya menyimpan sesuatu sebagai daftar di dalam kerangka data.
Saya menyelesaikannya dengan menggunakan unlist sebelum menambahkan hasil dari fungsi lapply ke tibble.
sumber
Saya mengalami masalah ini juga kecuali melalui tibble yang dibuat menggunakan blok dyplyr. Berikut sedikit modifikasi dari kode sabre untuk menunjukkan bagaimana saya sampai pada kesalahan yang sama.
sumber
Katakanlah saya ingin memilih kolom berikut
Bagi saya yang berikut memberi peringatan:
Meskipun ini bekerja seperti yang diharapkan, meskipun, sejauh yang saya tahu
dplyr
, ini harus identik.sumber
Saya mendapatkan peringatan ini ketika saya mengganti nama kolom
dplyr::rename
setelah membacanya menggunakanreadr
paket.Nama kolom yang lama tidak diganti namanya di
spec
atribut. Jadi menghapusspec
atribut membuat peringatan hilang. Juga menghapus kelas "spec_tbl_df" sepertinya ide yang bagus.sumber