我有一组23个变量的观察结果.
当我使用prcomp和biplot绘制结果时,我遇到了几个问题:
实际绘图仅占据帧的一半(x <0),但绘图以0为中心,因此浪费了一半的空间
两个变量明显地支配着结果,因此所有其他箭头都聚集在一起,我无法读取一个东西
ad 1.我试过设置xlim和/或ylim,但我显然做错了,因为当我做的时候情节都搞砸了
ad 2.我可以以某种方式使箭头标签更加分开,以便我可以阅读它们吗?或者也许我可以只绘制没有两个最长的箭头(放大类型)?

附录:是否有可能让双标签以不同于箭头的颜色绘制标签?
另外:如果x和y轴不成比例,它是否有问题(它们的图表显示x和y上不同长度的间隔).我认为这会使箭头之间的天使产生偏差,而这种调整大小并不是一种相似性的转变.是否可以强制双色图保持1:1的宽高比,或者将图形绘制为矩形而不是正方形?
我尝试在保留rownames的同时写出一个csv矩阵(参见r中的Export矩阵).
但是,当我使用write.table()执行此操作时,所有列都会向左移动(因此第一个数据列标题显示在rownames列上方).
"PC1","PC2","PC3","PC4"
"Murder",0.0417043206282872,-0.04482165626967,0.0798906594208106,-0.994921731246978
"Assault",0.995221281426497,-0.0587600278572231,-0.0675697350838042,0.03893829763516
"UrbanPop",0.0463357461197111,0.976857479909889,-0.200546287353865,-0.0581691430589317
"Rape",0.0751555005855469,0.200718066450337,0.974080592182492,0.0723250196376096
Run Code Online (Sandbox Code Playgroud)
我尝试了以下(手动添加额外的列):
merged.pca <- prcomp(USArrests)
write.table(merged.pca$rotation, file = "rotation.csv", sep = ",", col.names = c("rowname",colnames(merged.pca$rotation)))
Run Code Online (Sandbox Code Playgroud)
不幸的是,这失败了:
Error in write.table(merged.pca$rotation, file = "rotation.csv", sep = ",", :
invalid 'col.names' specification
Run Code Online (Sandbox Code Playgroud)
TBH我不知道这个错误意味着什么.它是关于参数是列表而不是向量的东西吗?
我有一种预感,即使用持有者习惯用语而不将持有者字段声明为final是不是线程安全的(由于Java中的不变性方式).有人可以证实这一点(希望有一些消息来源)吗?
public class Something {
private long answer = 1;
private Something() {
answer += 10;
answer += 10;
}
public int getAnswer() {
return answer;
}
private static class LazyHolder {
// notice no final
private static Something INSTANCE = new Something();
}
public static Something getInstance() {
return LazyHolder.INSTANCE;
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我绝对想要源语句,而不仅仅是"它有效"的断言 - 请解释/证明它是安全的
EDIT2:稍加修改以使我的观点更清楚 - 我可以确定getAnswer()方法将返回21而不管调用线程吗?
下面的代码包含对Enum::name(通知无类型参数)的引用.
public static <T extends Enum<T>> ColumnType<T, String> enumColumn(Class<T> klazz) {
return simpleColumn((row, label) -> valueOf(klazz, row.getString(label)), Enum::name);
}
public static <T, R> ColumnType<T, R> simpleColumn(BiFunction<JsonObject, String, T> readFromJson,
Function<T, R> writeToDb) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
Javac在编译期间报告警告:
[WARNING]发现原始类型:java.lang.Enum缺少泛型类java.lang.Enum的类型参数
更改表达式会Enum<T>::name导致警告消失.
但是,Idea会在Enum<T>::name版本上标记以下警告:
可以推断出显式类型参数
反过来,Eclipse(ECJ)没有报告任何一种配方的任何问题.
这三种方法中哪一种是正确的?
一方面原始类型相当令人讨厌.如果你试图放一些其他的类型参数,例如 Enum<Clause>::name会导致编译失败,所以这是一些额外的保护.
另一方面,上面的引用等同于e -> e.name()lambda,这个公式不需要类型参数.
Enviorment:
我有一个exec-maven-plugin的配置条目
<configuration>
<executable>compass</executable>
<arguments>
<argument>compile</argument>
<argument>-c</argument>
<argument>config_production.rb</argument>
<argument>--force</argument>
</arguments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
现在在配置文件中我想将此配置与以下内容合并:
<configuration>
<arguments>
<argument>compile</argument>
</arguments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
因为combine.children="merge"是默认我期望有效的配置是:
<configuration>
<executable>compass</executable>
<arguments>
<argument>compile</argument>
</arguments>
</configuration>
Run Code Online (Sandbox Code Playgroud)
但它与原始相同.
是什么赋予了?我试过设置 combine.children="merge"和 combine.self="override"无济于事.
Maven文档仅提到"子POM如何从父POM继承配置",但我希望从配置文件合并以相同的方式工作.
以上结果表明,从配置文件合并的工作方式不同 - 如何?
这是logback经典中的错误还是我错过了什么?该文档非常明确scanPeriod地作为可选属性:
默认情况下,将每分钟扫描一次配置文件以进行更改.
但是,给出logback.xml如下文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true" scan="true" >
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5p %c{1}:%L - %m%n</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="WARN">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我得到的logback以下输出和扫描并不能正常工作.
16:40:56,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
16:40:56,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
16:40:56,244 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [file:/home/jbochenski/acme/acme-func-test/conf/logback.xml]
16:40:56,323 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of …Run Code Online (Sandbox Code Playgroud) 这与: 我应该如何在 RESTful Web 服务中实现 COUNT 动词?、在 Rest 集合中进行分页 以及使用带有除字节之外的范围说明符的 HTTP 范围标头?
实际上我认为这里的 -1 评级 anwser 是正确的/sf/answers/100429101/
一般来说,答案说您可以使用引用 sec 3.12 的自定义单位
range-unit = bytes-unit | other-range-unit
bytes-unit = "bytes"
other-range-unit = token
Run Code Online (Sandbox Code Playgroud)
然而,当您阅读 HTTP 规范时,请注意生产规则如下:
Content-Range = "Content-Range" ":" content-range-spec
content-range-spec = byte-content-range-spec
byte-content-range-spec = bytes-unit SP
byte-range-resp-spec "/"
( instance-length | "*" )
Run Code Online (Sandbox Code Playgroud)
标头规范仅引用第 3.12 节中的字节单位,而不是范围单位,因此我认为实际上在这里使用自定义单位是违反规范的。
我错过了什么还是流行的答案错了?
编辑:由于这可能不清楚,我的问题的要点是:rfc2616 sec14.16 仅引用字节单位。它从未提及范围单元,因此范围单元的生成与内容范围无关,因此只能使用字节单元。
我认为这最好地解决了我的担忧,尽管我需要一些时间来理解它(而且我想确保措辞有问题)。
这反映了这样一个事实:显然,第一组语法规则是专门用于解析的,第二组是用于生成 HTTP 请求的
感谢埃尔加顿
我试图在空闲时关注这个问题Eclipse中的高CPU使用情况,并找出Eclipse为什么会出现这样的CPU问题
以下是消耗两位数处理器份额的线程,有人可以理解它们吗?一个吃约80%的线程似乎与工作台有关,但其余的都是一个谜.
我确实有一个不错的proc和SSD驱动器,并且大部分时间eclipse运行顺利.
BTW.执行ps和kill之间有一个短暂的延迟,这可能解释了它,但我不明白等待线程如何使用超过50%的cpu.
"Worker-6" prio=10 tid=0x00007fe9e0036000 nid=0x1caf in Object.wait() [0x00007fe9c2269000]
java.lang.Thread.State: TIMED_WAITING (on object monitor) 16.8%
at java.lang.Object.wait(Native Method)
- waiting on <0x00007fea3fa6d1a0> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.sleep(WorkerPool.java:188)
- locked <0x00007fea3fa6d1a0> (a org.eclipse.core.internal.jobs.WorkerPool)
at org.eclipse.core.internal.jobs.WorkerPool.startJob(WorkerPool.java:220)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:50)
"org.eclipse.jdt.internal.ui.text.JavaReconciler" daemon prio=10 tid=0x00007fea94e3d800 nid=0x1ca1 in Object.wait() [0x00007fe9d65e4000]
java.lang.Thread.State: TIMED_WAITING (on object monitor) 57.4%
at java.lang.Object.wait(Native Method)
- waiting on <0x00007fea39123a28> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:179)
- locked <0x00007fea39123a28> (a org.eclipse.jface.text.reconciler.DirtyRegionQueue)
"Java indexing" daemon prio=10 tid=0x00007fea9510f000 nid=0x1c9d in Object.wait() [0x00007fe9fc7bf000] …Run Code Online (Sandbox Code Playgroud) 由于声纳切换到使用SVNKit,我无法将责备分析用于使用工作副本svn+ssh.它失败了:
[ERROR] Failed to execute goal org.codehaus.mojo:sonar-maven-plugin:2.5:sonar (default-cli) on project example: Error when executing blame for file src/main/java/com/acme/Foo.java: svn: E170001: Authentication required for 'svn@svn+ssh://svn.acme.com'
Run Code Online (Sandbox Code Playgroud)
svn从命令行调用时,该命令可正常工作,也可连接到ssh svn@svn.acme.com成功.我在Eclipse中使用SVNKit和这个存储库它也工作正常(虽然我不得不告诉它在哪里寻找私钥).
当我试图调试声纳转轮执行时,我看到私钥没有设置:
myPreviousAuthentication SVNSSHAuthentication (id=392)
myAgentProxy null
myIsPartial false
myIsStorageAllowed false
myKind "svn.ssh" (id=387)
myPassphrase null
myPassword (id=608)
myPortNumber -1
myPrivateKeyFile null
myPrivateKeyValue null
myURL SVNURL (id=345)
myUserName "jbochenski" (id=610)
myPreviousErrorMessage SVNErrorMessage (id=388)
dontShowErrorCode false
myChildErrorMessage null
myErrorCode SVNErrorCode (id=614)
myMessage "Credentials rejected by SSH server." (id=613)
myObjects Object[0] (id=616) …Run Code Online (Sandbox Code Playgroud) 我的所有这些工具都报告了与 JaCoCo 相同的覆盖范围:69% 的线路覆盖率和 23% 的分支覆盖率。
注意:屏幕截图是在几天内拍摄的,因此它们的值略有不同,但差异 < 1%
然而,声纳报告了不同的值:
Maven项目结构如下:
您可以看到 main 和 java 模块上报告的覆盖率相同,而 js 模块上没有覆盖率。
我正在使用最新版本的jacoco和jacoco-maven-pluginSonar 的Java Plugin.
以下是相关的构建日志片段mvn sonar:sonar——所有这些似乎都按顺序排列:
$ egrep -i 'jacoco|\[warn]' consoleText
[WARN] [04:34:29.569] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
[WARN] [04:34:29.576] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should no longer be used.
[WARN] [04:34:29.593] 'sonar.dynamicAnalysis' is deprecated since version 4.3 and should …Run Code Online (Sandbox Code Playgroud)