[問題] 自寫的函數無法應用在跑多筆資料
[問題類型]:
程式諮詢(我想用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)
[關鍵字]:
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.9.62.156 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1697175653.A.671.html
推
10/13 14:28,
1年前
, 1F
10/13 14:28, 1F
→
10/13 14:29,
1年前
, 2F
10/13 14:29, 2F
R_Language 近期熱門文章
PTT數位生活區 即時熱門文章