[英]How to rename last n columns of dataframe with vector of strings, using rename_with or rename?
[英]using vector and seq to rename dataframe
我有一個帶有掃描光譜數據的.csv 文件。 每次運行都會為數據類型生成波長和吸收率。 .csv 中的第一行看起來像這樣 Sample1,,220201_CBP21_WT, 在導入時將樣品運行的名稱作為波長柱的名稱,而沒有任何內容(即編號位置)用於吸收。 我不想將第一個列的名稱復制到第二個列,並將其與其他列的“abs”之類的字符串結合起來。
試圖給他們相同的名字和名字並重命名只是作為一個起點,但也無法讓它工作
df = data.frame(firstname = c(1,2,3),"1" = c(13,13,15), secondname = c(1,2,3), "2" = c(12,13,12))
oldnames = names(df)
names(df[seq(1,3,2)]) = oldnames[seq(2,4,2)]
#or
rename(df,df[seq(1,3,2)]) = oldnames[seq(2,4,2)])
所以我希望 df 的名字是 firstname, firstname, secondname, secondname 至少理想情況下是 firstname, firstname_abs, secondname, secondname_abs
因此,如果我理解正確,您有 2 列,並且您想將第二列重命名為 (first column)_(second column)
但無論如何,作為一般解決方案,您可能正在尋找的是paste()
或paste0()
所以它應該是這樣的 -
df$column = paste("text",df$column,sep = "separator")
或
df$columnB = paste(df$columnA,df$columnB,sep = "separator")
paste()
要求您設置分隔符或默認設置一個空格
您可以使用沒有任何分隔符要求的paste0()
只需按原樣連接
df$column = paste0("text","separator if required",df$column)
或
df$columnB = paste(df$columnA,"separator if required",df$columnB)
您的問題對於您到底想要什么樣的結果有點模糊,也許您可以輸入您期望的輸入樣本和 output。 然后我可以改進答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.