我寫這篇文章是為了尋求一些關于回圈代碼以按索引重命名列的建議。
我有一個資料集,其中的比例專案列彼此相鄰。不幸的是,它們的名字很奇怪。
我想以這種格式重命名每一列:SimRac1、SimRac2、SimRac3……等等。我知道列的位置(列號 30 到 37)。我知道這些比例專案的排序方式是,它們可以從左到右以遞增的順序命名和編號。
我目前擁有的代碼有效,但效率不高。在不同位置還有其他比例,也需要以類似的方式重命名。這將導致數十個代碼行。
見下面的代碼。
names(Total)[30] <- "SimRac1"
names(Total)[31] <- "SimRac2"
names(Total)[32] <- "SimRac3"
names(Total)[33] <- "SimRac4"
names(Total)[34] <- "SimRac5"
names(Total)[35] <- "SimRac6"
names(Total)[36] <- "SimRac7"
names(Total)[37] <- "SimRac8"
我想回圈這段代碼,以便我只有一段代碼來完成這項作業。我在想也許“for 回圈”會有所幫助。因此,下面的代碼
for (i in Total[,30:37]){
names(Total)[i] <- "SimRac(1:8)"
}
不幸的是,這不起作用。這段代碼運行沒有錯誤,但它沒有做任何事情。
做建議。
uj5u.com熱心網友回復:
在 OP 的代碼中,“SimRac(1:8)”是一個常數。要擁有動態名稱,請使用paste0. 我們在這里不需要回圈。我們可以使用矢量化函式來創建名稱,然后將名稱分配給names(Total)
names(Total)[30:37]<-paste0('SimRac', 1:8)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/347576.html
上一篇:如何從df計算每n個向量的平均值
