我正在使用openxlsx包創建excel文件。要格式化列美元,例子說給類設置爲「貨幣」:R - 使用mutate分配類
class(df$Currency) <- 'currency'
不過,我想這是一次應用於許多列和貨幣百分比等重複一次,一次那是我最終的目標,但我到了那裏 - 這是我到目前爲止嘗試過的。
第一工作示例:
df <- data.frame(sales = c(10, 20, 30, 40, 50), returns = c(-5, -10, -20, 0, 0))
class(df$sales) <- 'currency'
class(df$sales)
[1] "currency"
現在用dplyr和變異 嘗試1:
df %>%
mutate_all(`class<-`(., 'currency'))
Error: Can't create call to non-callable object
嘗試2:
df <- df %>%
`class<-`(., 'currency')
df
$sales
[1] 10 20 30 40 50
attr(,"class")
[1] "currency"
這變得非常非常接近我想要但輸出是一個列表和as.data.frame和as.tbl都抱怨沒有方法等級爲「貨幣」。
當我使用類(df $ sales)< - '貨幣'時,我可以在現有數據框中更改類。
我有一種感覺,這是一個很好的機會,以瞭解更多關於類(我審查了關於類的高級R段,但不能讓我的問題的連接)
定義'as.currency'和使用? – Frank
謝謝弗蘭克 - 我很早就試過了,放棄得太快了 - 以下面提供的例子爲例,返回函數中的x正是我所需要的。 – Davidws