在R语言中对数据框某列整数执行除法运算的问题
解决数据框列归一化的问题
嘿,Chester,你的思路其实是对的!问题可能出在你只是生成了一个单独的归一化向量,没有把它整合到你的数据框里,或者没确认结果是否正确。让我一步步帮你搞定这个数据归一化的需求:
方法1:直接替换原Amount列
如果你想直接把原列替换成归一化后的值(这样后续绘图直接用这个列就行),用列名定位操作更清晰:
# 直接对Amount列做除法并赋值回原列 my.data$Amount <- my.data$Amount / 1000
方法2:新增归一化后的列(保留原数据)
如果不想改动原始数据,想新增一列存储归一化结果,方便同时对比原数据和处理后的数据:
# 新增Amount_normalized列,存储归一化后的值 my.data$Amount_normalized <- my.data$Amount / 1000
验证结果是否正确
处理完之后,你可以用head()函数查看数据框的前几行,确认归一化是否生效:
head(my.data)
处理后你的数据会变成这样:
x day Amount Amount_normalized 1 1 1 23440.1 23440.1 2 2 2 41231.02 41231.02 3 3 3 32012.01 32012.01
你之前写的test <- my.data[, 3]/1000其实是正确的,它生成了一个包含归一化后数值的向量,只是这个向量没有和你的数据框关联起来。如果需要的话,你也可以把这个向量赋值到数据框的新列里:
my.data$Amount_normalized <- test
这样处理后,你的数据范围就会缩小,绘图的时候就不会出现范围过大的问题啦!
内容的提问来源于stack exchange,提问作者Chester
相关产品推荐
相关产品推荐

