R:如何将数据帧列表中的数值更改为一个字符,取决于它们相对于特定数量阈值的位置?

R:如何将数据帧列表中的数值更改为一个字符,取决于它们相对于特定数量阈值的位置?,r,R,我有一个数据帧列表,每个数据帧都包含数值 #DummyData df1 = data.frame(x = rnorm(11), y = rnorm(11)) df2 = data.frame(x = rnorm(11), y = rnorm(11)) df3 = data.frame(x = rnorm(11), y = rnorm(11)) df_list = mget(ls(pattern = "df[1-3]")) 我想根据数值与平均值+/-10%的关系重新编码数值。具体而言,我希望将高

我有一个数据帧列表,每个数据帧都包含数值

#DummyData
df1 = data.frame(x = rnorm(11), y = rnorm(11))
df2 = data.frame(x = rnorm(11), y = rnorm(11))
df3 = data.frame(x = rnorm(11), y = rnorm(11))
df_list = mget(ls(pattern = "df[1-3]"))
我想根据数值与平均值+/-10%的关系重新编码数值。具体而言,我希望将高于平均值10%以上的值更改为“高”,将低于平均值10%的值更改为“中”,将低于平均值10%以上的值更改为“低”

我的策略是使用由多个ifelse语句组成的函数,然后使用lappy将其应用于列表

myfunction <- function(x) {C <-mean(x)
ifelse(x > 1.1*C, "High", x) 
ifelse(x < 0.9*C, "Low", "Medium")
}

df_list <- lapply(df_list, myfunction)

myfunction尝试将两个
ifelse()调用链接在一起。
调用:

myfunction <- function(x) {
    C <- mean(x)
    ifelse(x > 1.1*C, "High", ifelse(x < 0.9*C, "Low", "Medium")) 
}

myfunction尝试将两个
ifelse()调用链接在一起。
调用:

myfunction <- function(x) {
    C <- mean(x)
    ifelse(x > 1.1*C, "High", ifelse(x < 0.9*C, "Low", "Medium")) 
}
myfunction