簡體   English   中英

如何根據列名中包含的字符串組合 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM