我有一个包含 5 个数据框的列表,如下所示:
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")
我还有一个 3 步公式和以下代码:
第 1 步 - 代码如下,需要为同一列的每一行计算。如果 x 是 "z" 、 "f" 或 "p" 的元素,则:
z = x - mean(column))/sd(column)
2 - 使用步骤 1 中的值从 0 重新调整 z 分数
rz = abs(min(z)) + z
3 - 重新调整第 2 步的 RZ 分数,使其介于 0 和 1 之间
mrz = rz/max(rz)
我需要将此公式应用于列“z”、“p”、“f”,仅在 using 、或其他类型的循环objective_col <- colnames(mylist$'2006-01-05'[,3:5])
的每个元素中:mylist
apply
sapply
lapply
它可能看起来像:
lapply(mylist, FUN = function(x) .......)
输出应与mydf
所有存储在相同的布局和格式mylist2 <- list()
随着我取得更多进展,我将继续更新此内容。我仍在学习如何使用循环和函数。感谢任何可以提供一些输入的人。