wsdlLocation如何设置成相对的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wsdlLocation如何设置成相对的相关的知识,希望对你有一定的参考价值。
如何在java里把wsdlLocation设置成相对的
@WebServiceClient(name = "API", targetNamespace = "http://webservice.cn", wsdlLocation = "http://localhost/SMSG/services/API?wsdl")
public class API extends Service
private static URL SMSSERVICEAPI_WSDL_LOCATION;
因为在上面的注解里,无法调用任何参数,有没有高手练习过此类问题
因WebServiceRef中的wsdlLocation设定的时候是在类外,还可以配置可变的,那么都可以配置出去。Properties/xml都可以。 参考技术A wsdlLocation不能是相对的,必须一一对应,你可以将所有wsdl实现后,然后通过代码封装来动态调用其中的方法。因为wsdl是服务器提供的,是不允许客户端更改的本回答被提问者采纳
如何在 R 中生成具有累积频率和相对频率的频率表
【中文标题】如何在 R 中生成具有累积频率和相对频率的频率表【英文标题】:How to generate a frequency table in R with with cumulative frequency and relative frequency 【发布时间】:2012-06-24 07:40:35 【问题描述】:我是 R 新手。我需要生成一个简单的频率表(如书籍中的),其中包含累积频率和相对频率。
所以我想从一些简单的数据生成
> x
[1] 17 17 17 17 17 17 17 17 16 16 16 16 16 18 18 18 10 12 17 17 17 17 17 17 17 17 16 16 16 16 16 18 18 18 10
[36] 12 15 19 20 22 20 19 19 19
像这样的表格:
frequency cumulative relative
(9.99,11.7] 2 2 0.04545455
(11.7,13.4] 2 4 0.04545455
(13.4,15.1] 1 5 0.02272727
(15.1,16.9] 10 15 0.22727273
(16.9,18.6] 22 37 0.50000000
(18.6,20.3] 6 43 0.13636364
(20.3,22] 1 44 0.02272727
我知道它应该很简单,但我不知道如何。
我使用这段代码得到了一些结果:
factorx <- factor(cut(x, breaks=nclass.Sturges(x)))
as.matrix(table(factorx))
【问题讨论】:
【参考方案1】:你已经接近了!有几个函数可以让您轻松完成此操作,即cumsum()
和prop.table()
。这就是我可能把它放在一起的方式。我做了一些随机数据,但重点是一样的:
#Fake data
x <- sample(10:20, 44, TRUE)
#Your code
factorx <- factor(cut(x, breaks=nclass.Sturges(x)))
#Tabulate and turn into data.frame
xout <- as.data.frame(table(factorx))
#Add cumFreq and proportions
xout <- transform(xout, cumFreq = cumsum(Freq), relative = prop.table(Freq))
#-----
factorx Freq cumFreq relative
1 (9.99,11.4] 11 11 0.25000000
2 (11.4,12.9] 3 14 0.06818182
3 (12.9,14.3] 11 25 0.25000000
4 (14.3,15.7] 2 27 0.04545455
5 (15.7,17.1] 6 33 0.13636364
6 (17.1,18.6] 3 36 0.06818182
7 (18.6,20] 8 44 0.18181818
【讨论】:
还应该为??
函数提供一个插件,该函数允许模糊搜索,即??"cumulative sum"
将引导您走向正确的方向。
它工作得很好,让我感到困惑的是数据的显示是作为 数据框(而不是表格)完成的。 ??
非常好,但我的母语不是英语,所以很难搜索帮助。
@El_Hoy - 比较str(as.data.frame(table(sample(1:10, 100, TRUE))))
和str(table(sample(1:10, 100, TRUE)))
的输出以查看输出的差异。格式化为 data.frame 只是更容易添加 cumsum 和比例。祝你好运!这里有很多关于 SO 的好信息,还有很多喜欢回答问题的人。干杯!【参考方案2】:
基本函数 table
、cumsum
和 prop.table
应该可以帮助您:
cbind( Freq=table(x), Cumul=cumsum(table(x)), relative=prop.table(table(x)))
Freq Cumul relative
10 2 2 0.04545455
12 2 4 0.04545455
15 1 5 0.02272727
16 10 15 0.22727273
17 16 31 0.36363636
18 6 37 0.13636364
19 4 41 0.09090909
20 2 43 0.04545455
22 1 44 0.02272727
使用 cbind 并根据您的喜好命名列,这对您将来应该很容易。表函数的输出是一个矩阵,所以这个结果也是一个矩阵。如果这是在某件大事上完成,那么这样做会更有效率:
tbl <- table(x)
cbind( Freq=tbl, Cumul=cumsum(tbl), relative=prop.table(tbl))
【讨论】:
【参考方案3】:如果您正在寻找预先打包的内容,请考虑 descr
包中的 freq()
函数。
library(descr)
x = c(sample(10:20, 44, TRUE))
freq(x, plot = FALSE)
或者要获得累积百分比,请使用ordered()
函数
freq(ordered(x), plot = FALSE)
添加“累积频率”列:
tab = as.data.frame(freq(ordered(x), plot = FALSE))
CumFreq = cumsum(tab[-dim(tab)[1],]$Frequency)
tab$CumFreq = c(CumFreq, NA)
tab
如果您的数据有缺失值,则会在表中添加一个有效的百分比列。
x = c(sample(10:20, 44, TRUE), NA, NA)
freq(ordered(x), plot = FALSE)
【讨论】:
【参考方案4】:还有一种可能:
library(SciencesPo)
x = c(sample(10:20, 50, TRUE))
freq(x)
【讨论】:
【参考方案5】:我的建议是检查 agricolae 包...检查一下:
library(agricolae)
weight<-c( 68, 53, 69.5, 55, 71, 63, 76.5, 65.5, 69, 75, 76, 57, 70.5,
+ 71.5, 56, 81.5, 69, 59, 67.5, 61, 68, 59.5, 56.5, 73,
+ 61, 72.5, 71.5, 59.5, 74.5, 63)
h1<- graph.freq(weight,col="yellow",frequency=1,las=2,xlab="h1")
print(summary(h1),row.names=FALSE)
【讨论】:
以上是关于wsdlLocation如何设置成相对的的主要内容,如果未能解决你的问题,请参考以下文章