簡體   English   中英

使用向量和序列重命名 dataframe

[英]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.

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