Saya memiliki daftar 5 kerangka data seperti:
mydf <- data.frame(x=c(1:5), y=c(21:25),z=rnorm(1:5), p=rnorm(2:6), f=rnorm(3:7))
mylist <- rep(list(mydf),5)
names(mylist) <-c("2006-01-01","2006-01-02","2006-01-03","2006-01-04","2006-01-05")
Saya juga memiliki rumus 3 langkah dan potongan kode berikut yang saya kumpulkan:
Langkah 1 - kodenya sebagai berikut ini perlu dihitung untuk setiap baris kolom yang sama. jika x adalah elemen dari "z", "f" atau "p" maka:
z = x - mean(column))/sd(column)
2 - skala ulang skor z dari 0 menggunakan nilai dari langkah 1
rz = abs(min(z)) + z
3 - Skala ulang skor RZ dari langkah 2 sedemikian rupa sehingga berada di antara 0 dan 1
mrz = rz/max(rz)
Saya perlu menerapkan rumus ini ke kolom "z", "p", "f" saja juga objective_col <- colnames(mylist$'2006-01-05'[,3:5])
di setiap elemen mylist
menggunakan apply
, sapply
, lapply
atau jenis loop lainnya:
mungkin akan terlihat seperti:
lapply(mylist, FUN = function(x) .......)
Output harus dalam tata letak dan format yang sama dengan mydf
semuanya disimpan di mylist2 <- list()
Saya akan terus memperbarui ini seiring kemajuan saya. Saya masih belajar cara menggunakan loop dan fungsi..Terima kasih kepada siapa pun yang dapat memberikan masukan.