由像dplyr和magrittr包啓用管道比喻是非常有用的,做偉大的事情,讓你的代碼可讀性在R(一個艱鉅的任務!)重命名多個變量
如何才能使一個流水線以數據框中的所有變量重命名爲預定列表結束?
這是我試過的。首先,簡單的樣本數據來測試:
> library(dplyr)
> iris %>% head(n=3) %>% select(-Species) %>% t %>% as.data.frame -> test.data
> test.data
1 2 3
Sepal.Length 5.1 4.9 4.7
Sepal.Width 3.5 3.0 3.2
Petal.Length 1.4 1.4 1.3
Petal.Width 0.2 0.2 0.2
這不起作用:
> test.data %>% rename(a=1,b=2,c=3)
Error: Arguments to rename must be unquoted variable names. Arguments a, b, c are not.
我是不是能夠從閱讀rename
文檔找出這個錯誤的確切含義。我的另一個嘗試通過使用大括號定義代碼塊避免了錯誤,但是改名並沒有真正發生:
> test.data %>% { names(.) <- c('a','b','c')}
我喜歡當人們回答自己這樣的問題。謝謝!(對我來說不是一個相關的問題,但我仍然喜歡) – Daniel
請在你的問題中提供一個可重現的例子。如果你自己沒有回答這個問題,這可能會因爲幾個原因而被關閉 – rawr
我建議遵循rawr的建議:在你的問題中舉一個例子。另外,拿出元評論。如果您想聊聊自我回答,可以在自己的帖子下面添加評論。這篇文章應該是關於這個問題,而不是關於你回答的事實,或者答案並不像我想象的那麼容易。 – Frank