把p<-c(3,5,6,7,9,8)放到function里面去。
当你把p<-c(3,5,6,7,9,8)放在function外面时,p<-c(3,5,6,7,9,8)的这个p所在的环境是GlobalEnv。
而function(p,left,right)里面的这个p的环境是function本身。换句话说,你只定义了GlobalEnv里的p,但是还没有定义function里的p,你程序里的两个p是不同的两个p。
所以R报错告诉你,“argument 的长度是0”。也就是说,function(p, left, right)找不到你想要的那个function环境里的p。