[英]R - Filter rows by columns - column names contained in an other dataframe
[英]How to combine columns in a dataframe based on strings contained in the column names?
我有一個 dataframe all_data
有 14 列需要組合成 4 列。
到目前為止,我已經為原始列名稱字符串創建了對象。
name_pattern <- c( "Geographic.area.name", "Geographic Area Name")
VoS_pattern <- c( "Total.value.of.shipment", "value of shipments")
NAICS_pattern <- c( "NAICS.code", "NAICS code")
industry_pattern <- c("Meaning.of.", "Meaning of NAICS code")
例如,在這里,我有 5 列包含在VoS_pattern
中的字符串中,我需要將它們合並為一列。
我需要創建包含所有單獨列的對象,這些列將合並到一列。 當只有一個字符串分配了 object 時,例如NAICS_pattern <- "NAICS.code"
而不是NAICS_pattern <- c( "NAICS.code", "NAICS code")
,以下工作
NAICS_col_names <- grep( NAICS_pattern, colnames( all_data ), value = TRUE )
不幸的是,當有多個字符串分配給 object 時,它不起作用,並且我收到的警告是:
在 grep(NAICS_pattern, colnames(all_data), value = TRUE) 中:參數 'pattern' 的長度 > 1 並且僅使用第一個元素
有什么解決方案嗎?
我們可以用|
將它們paste
到一個中。
grep(paste(NAICS_pattern, collapse="|"), colnames( all_data ), value = TRUE )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.