我試圖使用str_c函數(安裝「stringr」包後)在我的數據中更改某些列的名稱。列名如下:在字符串的開頭添加字母
> x
a b c d
我需要改變的「c」和「d」與「AA」和「AB」。因此,而不是寫在我的命令全列名,我會用以下結構:
colnames(x[,3:4])<-str_c(colnames(x[,1:2], "A")
但是,結果顯示「A」結尾的名字不是開始。因此,如何把「A」開頭,以得到如下:
> x
a b Aa Ab
我試圖使用str_c函數(安裝「stringr」包後)在我的數據中更改某些列的名稱。列名如下:在字符串的開頭添加字母
> x
a b c d
我需要改變的「c」和「d」與「AA」和「AB」。因此,而不是寫在我的命令全列名,我會用以下結構:
colnames(x[,3:4])<-str_c(colnames(x[,1:2], "A")
但是,結果顯示「A」結尾的名字不是開始。因此,如何把「A」開頭,以得到如下:
> x
a b Aa Ab
如果我理解你的問題,這是顯示「列名」,那麼你應該換你的表達順序,這
colnames(x[,3:4])<-str_c(colnames(x[,1:2], "A")
應該
colnames(x[,3:4])<-str_c("A", colnames(x[,1:2])
注意列名與一家領先的數字將不會與$
functi工作除非名稱被引用。所以「A」在'$'功能下正常工作,但「1」需要引用該名稱。
工作正常。謝謝 – athraa
可以,但這並不意味着這是個好主意。我認爲應該給出適當的警告,因爲'1a'不是一個有效的R名。 –
對不起@艾略特也許我錯過了一些東西,但我不明白這是如何工作的。請參閱http://stackoverflow.com/q/24867333/766828。 – Beasterfield
你應該記錄'str_c'來自需要可用並加載的包。這個問題對於剛剛開始使用R並且不理解這個函數實際上只是複製基本函數'paste0'的人不會有幫助。當你去使用'$'函數時,它也會混淆它們(也可能是你),並發現它不尊重以數字開頭的列名稱,除非該名稱被引用。 –
@BonddedDust全部已修復 – athraa