Sütun isimlerini bir işlevle program aracılığıyla aktarmaya çalışıyorum, böylece dplyr içinde seçilebilecekler. Sütun adları değişeceğinden, select_
seçme işlevinin standart değerlendirme sürümünü kullanmaya çalıştım. onlar soruna neden olduğunu düşünüyorum +
ve -
karakterler içeren sütun adları kendilerini biraz komik. Aşağıda, hatayı çoğaltan basit bir örnek verilmiştir.dplyr sütun adlarını nasıl iletilir seçilmeden seçin
library(tibble)
library(dplyr)
data <- data_frame(target_id = 'xyz',
`CH4+Sulfate-1` = 1.2,
`CH4+Sulfate-2` = 2,
`CH4+Sulfate-3` = 3)
columns <- c('CH4+Sulfate-1', 'CH4+Sulfate-2', 'CH4+Sulfate-3')
select_(data, .dots = columns)
Ben isimleri değerlendirdi yerine dize olarak atılıyor inanmak götürüyor aşağıdaki hatayı
Error in eval(expr, envir, enclos) : object 'CH4' not found
olsun. Tablonun sütunlarını yeniden adlandırmak zorunda kalmadan bu sorunu nasıl çözebilirim?
Hmmm .... iyi bir soru - 'base [columns] 'R işleminden tamam, bu yüzden evrensel bir sorun değil. Ayrıca dplyr :: select (veri, eşleşme (sütunlar, adlar (veri))) 'ile de etrafta hackleyebilirsiniz, ancak başka bir fikrim yok. – thelatemail
bir kesinlikle çok az örnek onu kırmak için yeterlidir - 'dat <- data.frame (\', A + B \ '= 1: 3, check.names = YANLIŞ); select_ (dat, "A + B") ' – thelatemail
O http://stackoverflow.com/questions/35839408/r-dplyr- (ile one_of'' select' bu [durumların türlü] içinde cevap olabilir 'gibi görünüyor drop-multiple-columns/35839679 # 35839679): 'seçin (veri, one_of (sütunlar))' – aosmith