当我在R中的GROUP BY
包中尝试as.Date(42010, origin = "1900-01-01")
或as.Date.numeric(...)
时;它返回2015年1月8日而不是1月6日,而我可以将原点更改为2天以对此进行排序,不知道为什么会出现这个问题。
答案 0 :(得分:1)
就像@akrun一样,我想知道你为什么期望Jan 6成为结果。我查看了基地R和各种在线日历,2015-01-08和1900-01-01之间有42010天:
<p:layout fullPage="true">
<p:layoutUnit position="west" header="Elements">
<p:dataGrid value="#{ob.elements}" var="element" style="padding:0px;text-align:center" columns="5">
<p:column>
<p:commandButton value="" style="margin:0px;padding:0px;width:40px;height:40px;background-image: url('resources/images/objects/#{element.name}.png');background-size: 40px 40px;">
<f:setPropertyActionListener value="#{element}" target="#{ob.selectedElement}"></f:setPropertyActionListener>
</p:commandButton>
</p:column>
</p:dataGrid>
</p:layoutUnit>
<p:layoutUnit position="center">
<p:outputPanel autoUpdate="true">
<p:panelGrid columns="2">
<p:outputLabel value="Name"></p:outputLabel>
<p:inputText value="#{ob.selectedElement.name}"></p:inputText>
<p:outputLabel value="Type"></p:outputLabel>
<p:inputText value="#{ob.selectedElement.type}"></p:inputText>
<p:outputLabel value="Class"></p:outputLabel>
<p:inputText value="#{ob.selectedElement.class_}"></p:inputText>
<p:outputLabel value="Upgradable"></p:outputLabel>
<p:inputText value="#{ob.selectedElement.upgradable}"></p:inputText>
<p:outputLabel value="Duplicated"></p:outputLabel>
<p:inputText value="#{ob.selectedElement.duplicated}"></p:inputText>
<p:outputLabel value="Period"></p:outputLabel>
<p:inputText value="#{ob.selectedElement.period}"></p:inputText>
</p:panelGrid>
</p:outputPanel>
</p:layoutUnit>
</p:layout>
另请注意,这与as.Date("2015-01-08") - as.Date("1900-01-01")
## Time difference of 42010 days
包无关。 zoo
和基准R中的as.Date.numeric
函数仅在zoo
的默认值上有所不同。虽然R核心团队的作者认为提供默认值是不合理的,但origin
包选择使用与zoo
函数相同的默认值(即1970-01-01)。因此,无论是使用基本R还是as.numeric.Date
zoo
函数,结果都是相同的:
as.Date