作者:
studioA (understand?)
2023-10-13 13:40:51[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
使用者(已經有用R 做過不少作品)
[問題敘述]:
我寫了一個簡單函數來計算每小時電費
函數確實可以單筆跑出 ,但如果遇到一次跑多筆資料時,只能用迴圈
無法寫到類似套件那種,用mutate可以新增一整欄資料,請問函數要如何修正比較好
下方函數程式引用的xls檔我放在 https://lurl.cc/RJjRwa
[程式範例]:
ETC2023<-function(datetime, KW,sheet="高壓三段",
path = "D:/R_ETC_2023.xlsx"){
library(readxl)
T2023 <- read_excel(path, sheet = sheet ,col_types = c("text",
"numeric") )
x <- as.character(datetime)
Umoney <- as.numeric(as.matrix(T2023[T2023$DateTime==x,"unit"])) *
KW
return(Umoney)
}
ETC2023("2023052019",12) #成功
ETC2023("2023103122",10) #成功
# 轉成data.frame
DT <- data.frame(datetime =c("2023052019","2023103122"),KW = c(12,10))
DT$money <- ETC2023(DT$datetime,DT$KW) ##錯誤
DT %>% mutate("money"= ETC2023(datetime,KW)) ##錯誤
#成功
for(i in 1:2){
DT[i,"money"] <- ETC2023(DT[i,1],DT[i,2])
}
[環境敘述]:
請提供 sessionInfo() 的輸出結果,
R version 4.2.3 (2023-03-15 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 22621)
[關鍵字]: