设置原点时动物园包中的日期差异

时间:2015-09-21 05:28:46

标签: r date zoo

当我在R中的GROUP BY包中尝试as.Date(42010, origin = "1900-01-01")as.Date.numeric(...)时;它返回2015年1月8日而不是1月6日,而我可以将原点更改为2天以对此进行排序,不知道为什么会出现这个问题。

1 个答案:

答案 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