楼主: 随你便啦
47999 4

[问答] r语言错误:二进列运算符中有非数值参数 [推广有奖]

  • 0关注
  • 0粉丝

初中生

90%

还不是VIP/贵宾

-

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

楼主
随你便啦 发表于 2017-10-26 22:05:29 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
原始数据
head(data)
    大类 数量 天后下单
1 葡提类    5        1
2 葡提类    9        1
3 葡提类    6        1
4 葡提类    8        1
5 葡提类    9        1
6     枣    3        1

自己编的密度函数
密度
<-function(mydata,x){
    myvar=var(mydata)
    fx<-(2*pi_set(10000)*myvar)^-0.5*exp(-(x-mean(mydata))^2/2*myvar)
  return(fx)}


naive.bayes.prediction<-function(condition.vec){


   probility_1_day<-


     sum((data[,1])==condition.vec[1]&data[,3]==1)/sum(data[,3]==1)*密度(data[,3],1)*密度(subset(data,天后下单==1)[,2],condition.vec[2])


   probility_2_day<-


     sum((data[,1])==condition.vec[1]&data[,3]==2)/sum(data[,3]==2)* 密度(data[,3],2) *密度(subset(data,天后下单==2)[,2],condition.vec[2])


   probility_3_day<-


     sum((data[,1])==condition.vec[1]&data[,3]==3)/sum(data[,3]==3)* 密度(data[,3],3) *密度(subset(data,天后下单==3)[,2],condition.vec[2])


   probility_4_day<-


     sum((data[,1])==condition.vec[1]&data[,3]==4)/sum(data[,3]==4)* 密度(data[,3],4)*密度(subset(data,天后下单==4)[,2],condition.vec[2])


   probility_5_day<-


     sum((data[,1])==condition.vec[1]&data[,3]==5)/sum(data[,3]==5)* 密度(data[,3],5) *密度(subset(data,天后下单==5)[,2],condition.vec[2])


   probility_6_day<-


     sum((data[,1])==condition.vec[1]&data[,3]==6)/sum(data[,3]==6)* 密度(data[,3],6) *密度(subset(data,天后下单==6)[,2],condition.vec[2])


   probility_7_day<-


     sum((data[,1])==condition.vec[1]&data[,3]==7)/sum(data[,3]==7)* 密度(data[,3],7) *密度(subset(data,天后下单==7)[,2],condition.vec[2])


天数<-c('probility_1_day','probility_2_day','probility_2_day'


)


day<-c('probility_1_day','probility_2_day','probility_3_day','probility_4_day','probility_5_day','probility_6_day','probility_7_day')


dentisty<-c(probility_1_day,probility_2_day,probility_3_day,probility_4_day,probility_5_day,probility_6_day,probility_7_day)


jieguo<-data.frame(day,dentisty)


return(jieguo)}

跑一下
> naive.bayes.prediction(c("葡提类",4))
Error in x - mean(mydata) : 二进列运算符中有非数值参数

老是出现错误
sum((data[,1])=="葡提类"&data[,3]==4)/sum(data[,3]==4)*密度(subset(data,天后下单==4)[,2],4)*密度(data[,3],4)
[1] 1.074741e-06
挨个拎出来又可以,实在是找不出原因,望大神相助
二维码

扫码加我 拉你入群

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

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

关键词:R语言 运算符 Head Data 原始数据 R语言 R语言编程 R语言初学者

沙发
随你便啦 发表于 2017-10-27 12:47:11
经过一夜一天的艰苦奋斗,总算找到原因了
根据r的错误提示,Error in x - mean(mydata) : 二进列运算符中有非数值参数
x - mean(mydata)之中有非数值的东东出现,导致代码无法运行下去,但mean(mydata)显然没有问题,所以问题应该在前面的x,原来是我的赋值有误,数字变成了文本,改回来就好了。
这个错误据我所知有两种可能,一个是数据本身有错误,比如输入有误导致数字无法识别,比如10..1,另一个就是数据的格式了

藤椅
地瓜艾小七 发表于 2019-6-14 10:15:46
随你便啦 发表于 2017-10-27 12:47
经过一夜一天的艰苦奋斗,总算找到原因了
根据r的错误提示,Error in x - mean(mydata) : 二进列运算符中有 ...
请问一下,您是怎么把数据的格式改回来的呀?

板凳
地瓜艾小七 发表于 2019-6-14 10:15:53
随你便啦 发表于 2017-10-27 12:47
经过一夜一天的艰苦奋斗,总算找到原因了
根据r的错误提示,Error in x - mean(mydata) : 二进列运算符中有 ...
请问一下,您是怎么把数据的格式改回来的呀?

报纸
地瓜艾小七 发表于 2019-6-14 10:16:19
随你便啦 发表于 2017-10-27 12:47
经过一夜一天的艰苦奋斗,总算找到原因了
根据r的错误提示,Error in x - mean(mydata) : 二进列运算符中有 ...
请问一下,您是怎么把数据的格式改回来的呀?

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-22 12:25