我有这样的CSV ...
pid,score
1,3
2,6
3,9
4,1.5
5,5.6
6,10
我可以使用scale(data$score)
获得z分数。
但我仍然坚持使用pid
键将其合并回来,因此我的原始数据框将为pid,score,z
。这个101-ish感觉运动的任何提示?
答案 0 :(得分:1)
这是一个简单的任务。
首先重新创建数据
dat <- read.csv(header=TRUE, text="pid,score
1,3
2,6
3,9
4,1.5
5,5.6
6,10")
接下来,计算缩放值并直接在数据框中分配。由于缩放操作不会改变数据的顺序,因此这应该有效:
dat <- within(dat, scale <- scale(score))
dat
pid score scale
1 1 3.0 -0.86502756
2 2 6.0 0.04552777
3 3 9.0 0.95608310
4 4 1.5 -1.32030523
5 5 5.6 -0.07587961
6 6 10.0 1.25960154
我正在使用within()
来保存一些输入并提高可读性。