x=read.table('C:/Users/Sky/Desktop/data/data/salary.TXT') y=x[x[,2]==2,1]; x=x[x[,2]==1,1]; x1=x-median(outer(x,y,"-")) xy=cbind(c(x1,y),c(rep(1,length(x)),rep(2,length(y)))) xy1=xy[order(xy[,1]),];z=xy[,1];n=length(z) a1=2:3;b=2:3; for(i in seq(1,n,2)){b=b+4;a1=c(a1,b)} a2=c(1,a1+2);z=NULL; for(i in 1:n)z=c(z,(i-floor(i/2))) b=1:2;for( i in seq(1,(n+2-2),2)) if(z[i]/2!=floor(z[i]/2)) {z[i:(i+1)]=b;b=b+2};zz=cbind(c(0,0,z[1:(n-2)]),z[1:n]) if(n==1)R=1;if(n==2)R=c(1,2); if(n>2)R=c(a2[1:zz[n,1]],rev(a1[1:zz[n,2]])) xy2=cbind(xy1,R);Wx=sum(xy2[xy2[,2]==1,3]); Wy=sum(xy2[xy2[,2]==2,3]); nx=length(x);ny=length(y); Wxy=Wy-0.5*ny*(ny+1);Wyx=Wx-0.5*nx*(nx+1) Wx=sum(xy2[xy2[,2]==1,3]);Wy=sum(xy2[xy2[,2]==2,3]) nx=length(x);ny=length(y);Wxy=Wy-0.5*ny*(ny+1); Wyx=Wx-0.5*nx*(nx+1);pvalue=pwilcox(Wyx,nx,ny)
时间: 2024-04-25 17:26:58 浏览: 117
这段代码是用R语言编写的吧,看起来像是进行了一个Wilcoxon秩和检验,用于比较两组样本的中位数是否相等。其中x是第一组样本,y是第二组样本,xy是将它们合并在一起,并加上分类标记后的结果。代码中计算了Wx、Wy、Wxy、Wyx以及p-value。需要注意的是,这段代码中有多个重复的语句,可以简化一下。
相关问题
def getTableData(): data = list(JobInfo.objects.all()) def map_fn(item): item.salary = json.loads(item.salary) item.companyPeople = json.loads(item.companyPeople) item.workTag = json.loads(item.workTag) if item.companyTags != '无': item.companyTags = json.loads(item.companyTags) if not item.pratice: item.salary = list(map(lambda x: str(int(x / 1000)), item.salary)) else: item.salary = list(map(lambda x: str(x), item.salary)) item.salary = '-'.join(item.salary) item.companyPeople = list(map(lambda x: str(x), item.companyPeople)) item.companyPeople = '-'.join(item.companyPeople) return item data = list(map(map_fn, data)) return data
这是一个 Python 函数,它从数据库中获取 JobInfo 对象,并对其中的一些属性进行处理,然后返回处理后的数据。具体来说,它将 salary、companyPeople 和 workTag 属性从 JSON 字符串转换为 Python 对象,如果 companyTags 不为 '无',也将其从 JSON 字符串转换为 Python 对象。如果 pratice 属性为 False,它将 salary 中的元素除以 1000 并转换为字符串,否则将其转换为字符串。最后,它将 salary 和 companyPeople 中的元素用 '-' 连接起来,并返回处理后的数据。
@app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': job = request.form.get('job') results = Job.query.filter(Job.job_name.ilike(f'%{job}%')).all() if 'word_cloud' in request.form: job_tags = [tag.strip() for result in results for tag in result.job_tags.split(',')] generate_word_cloud(job_tags) return render_template('word_cloud_chart.html') elif 'salary_pie' in request.form: salary_data = {} for result in results: salary = result.salary if salary in salary_data: salary_data[salary] += 1 else: salary_data[salary] = 1 generate_salary_pie(salary_data) return render_template('salary_pie_chart.html') elif 'geo_chart' in request.form: generate_geo_chart(results) return render_template('geo_chart.html') return render_template('index.html') if __name__ == '__main__': app.run(debug=True)
这段代码是一个 Flask 应用程序,用于展示职位相关的数据可视化图表。当用户在网页上输入职位名称并提交时,会查询数据库中匹配的职位数据,并根据用户选择的不同图表类型生成相应的图表,包括词云图、饼图和地理图。当用户点击相应的按钮时,会调用生成相应图表的函数,并渲染对应的 HTML 模板文件。如果用户只是访问首页,会渲染默认的 index.html 模板文件。如果将该文件作为 Flask 应用程序的入口文件并运行,将启动一个本地服务器,用于提供网页服务。
阅读全文