楼主: fantastycrane
17513 6

[问答] 把数据归一化到-1到1之间,提示错误? [推广有奖]

  • 0关注
  • 0粉丝

初中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
59 点
帖子
6
精华
0
在线时间
9 小时
注册时间
2014-5-5
最后登录
2021-5-16

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
我想把一组37行6列的数据每列归一到-1到1之间,代码如下:

x为37行6列的数据框
i1 <- 1:6
j1 <- 1:37
for (i in i1){
  meani <- mean(x[j1, i])
  maxi <- max(x[j1, i])
  mini <- min(x[j1, i])
  for(j in j1){
    x[i,j] <- (x[i,j] - meani)/(maxi - mini)
  }
}


提示错误:Error in `[<-.data.frame`(`*tmp*`, i, j, value = numeric(0)) :
  replacement has length zero

错误什么意思?为什么出现这个错误?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:归一化 数据框 Error mini

沙发
lww1993 发表于 2014-5-5 16:51:56 |只看作者 |坛友微信交流群
你把
x[i,j] <- (x[i,j] - meani)/(maxi - mini) 写错了。

x[j,i] <- (x[j,i] - meani)/(maxi - mini)
已有 2 人评分经验 论坛币 收起 理由
ltx5151 + 20 热心帮助其他会员
admin_kefu + 50 热心帮助其他会员

总评分: 经验 + 20  论坛币 + 50   查看全部评分

使用道具

藤椅
fantastycrane 发表于 2014-5-6 09:49:34 |只看作者 |坛友微信交流群
lww1993 发表于 2014-5-5 16:51
你把
x
是啊,太粗心了,谢谢

使用道具

板凳
lijinfollow77 发表于 2016-6-22 21:53:38 |只看作者 |坛友微信交流群
我想问一下,您是怎么输出归一化以后的数据呢?能不能告知一下?谢谢

使用道具

报纸
ウ兴ウ 发表于 2016-7-25 10:27:50 |只看作者 |坛友微信交流群
data_scatter <- matrix(data = NA, nrow = 90633, ncol = 41, byrow = FALSE )
for (i in 9:49) {
  data_scatter[,i-8] <- (band_data[,i]-mean(band_data[,i]))/(max(band_data[,i])-min(band_data[,i]))
}  

使用道具

地板
DAWN1406 发表于 2022-2-17 11:40:27 |只看作者 |坛友微信交流群
lijinfollow77 发表于 2016-6-22 21:53
我想问一下,您是怎么输出归一化以后的数据呢?能不能告知一下?谢谢
归一化 公式是(X-Xmin)/(Xmax-Xmin)
网页版SPSSAU可以进行 比较简单

使用道具

7
abelus 发表于 2022-3-2 14:00:38 |只看作者 |坛友微信交流群
sapply(mat, function(x)  {
     m1 <- min(x, na.rm= T)
     m2 <- max(x, na.rm=T)
     (x - m1) / (m2 - m1)
})

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-9 20:18