【发布时间】:2020-07-30 12:05:18
【问题描述】:
我正在尝试根据年份通过全国平均水平对变量进行标准化,以创建一个新变量,即 Z 分数。这是一个示例数据集:
DF:
Var1 Var2
240 2015
210 2018
206 2016
248 2017
235 2019
----etc
我正在使用以下代码:
DF$NewZScore<- if (DF$Var2== "2015"){
(DF$Var1 - 229)/20
} else if (DF$Var2== "2016"){
((DF$Var1 - 228)/21
} else if (DF$Var2== "2017"){
((DF$Var1 - 229)/20
} else if (DF$Var2== "2018"){
((DF$Var1 - 230)/19
} else if (DF$Var2== "2019"){
((DF$Var1 - 231)/19
} else {
+ 1000
}
2015 年到 2019 年是我想要的年份,还有其他几年我将过滤掉(因此,+ 1000)。此代码根据 2015 年标准对 Var1 进行变异,而不是按 Var2 中的年份对变量进行变异。任何帮助表示赞赏!
【问题讨论】:
标签: r if-statement dplyr