2

r のパターンを含むデータフレーム内のすべての列の名前を変更したいと思います。つまり、「htn.variable」など、「variable」を含むすべての列を「variable」という列名に置き換えたいと考えています。plyrrename fromと を使用できると思いgreplました。私は例を作成しました:

exp<-data.frame(htn.variable = c(1,2,3), id = c(5,6,7), visit = c(1,3,4))
require(plyr)
rename ( exp, c(
names(exp)[grepl ( 'variable',names(exp))] = "variable" ))

しかし、次のエラーが表示されます。

エラー: 予期しない '=' in: " c( names(exp)[grepl ( 'variable',names(exp))] ="

これは関数内で名前を呼び出すことに関係していると思いますが、これを機能させる方法について誰か提案があるかどうか尋ねたいと思いますか? ありがとう。

4

4 に答える 4

8

なぜわざわざ気にrenameするのですか?

colnames(exp)[grepl('variable',colnames(exp))] <- 'variable'
于 2013-06-13T14:37:19.773 に答える
2

「変数」と等しい列名の部分のみを置き換えたい場合は、次を使用します。

colnames(exp) <- gsub('variable', 'replace string', colnames(exp))
于 2015-06-11T18:39:13.720 に答える
-3

これがあなたが必要としているものかどうかは 100% わかりませんが、それが出発点かもしれません。plyrから離れていた

for (i in 1:ncol(exp)){
    if (substr(names(exp)[i],5,12) == "variable"){
        names(exp)[i] <- "new.variable"    #or any new var name 
    }
}
exp

変数名の最初の 4 つの要素を削除することもできます。

于 2013-06-13T14:42:07.260 に答える