使用unlist将日期型数据的列表转换为向量时,出现的异常

在使用unlist函数,将日期型的列表,转换为向量时,不会得到期望的结果,如下:

> dateLst <- list(Sys.Date())
> dateLst
[[1]]
[1] "2015-08-11"

> dateVector <- unlist(dateLst)
> dateVector
[1] 16658

同样的原因,在使用sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)时,如果X为日期型向量,FUN返回日期,那么结果不会是预期的日期型向量,如下:
> date.vector.string <- c("20010101")
> date.vector <- sapply(date.vector.string, get.date)
> date.vector
20010101
   11323 

其中:# Get date from date string. Assumed the format of date string is like "20011230"## Args:# date.string: date string like "20011230"# # Returns:# date.get.date <- function(date.string){  #  deal with the Error in strptime(x, format, tz = "GMT") : input string is too long  if(nchar(date.string) != 8)    return(NA)    date <- try(as.Date(date.string, "%Y%m%d"))  return(date)}

sapply的结果,看起来可以认为是先调用lapply,得到的list后,调用unlist,试图得到与date.vector.string同类型的结果即向量。

考虑到日期型列表转换为向量的麻烦,最好的方法就是不要出现日期型列表,尽量用向量。
时间: 2024-09-29 08:45:14

使用unlist将日期型数据的列表转换为向量时,出现的异常的相关文章

pandas中对日期型数据进行处理

因为数据不方便展示,直接上代码. 将字符串转为datetime64[ns]格式: pd.to_datetime('2019-12-20') or pd.to_datetime('20191220') 以上两种方式都可以转为日期格式 还可以直接将一列直接转为日期格式,如下:(字符串格式必须和以上两种相同) data['交易日期'] = pd.to_datetime(data['交易日期']) pandas中还可以对日期格式进行加减操作,如: from pandas.tseries.offsets

求int型数据在内存中存储时1的个数

1.求int型数据在内存中存储时1的个数 输入一个int型数据,计算出该int型数据在内存中存储时1的个数. 我们非常easy想到例如以下方法: #include <iostream> using namespace std; int main() { int n,cnt=0; cin>>n; while(n) { if(n%2==1) cnt++; n=n/2; } cout<<cnt<<endl; return 0; } 在对代码进行測试时输入负数无法得

015-求int型数据在内存中存储时1的个数

/* 015-求int型数据在内存中存储时1的个数 题目描述 输入一个int型数据,计算出该int型数据在内存中存储时1的个数. 输入描述:  输入一个整数(int类型) 输出描述:  这个数转换成2进制后,输出1的个数 输入例子: 5 输出例子: 2 */ //c语言版 #include <stdio.h> int main(void) { int integer,i; int count = 0; scanf("%d",&integer); unsigned u

java-基础入门-泛型数组列表-解决运行时动态更改数组的问题

泛型数组列表,主要是为了解决运行时动态更改数组的问题 平常我们会定义一个部门里面的人员的一个数组, 但是在实际业务当中,这个数组的大小往往是不确定的, 如果定义过大,那么会浪费空间,定义过小,又不够用, 因为为了解决运行时动态更改数组的问题,我们提出下面的解决方案. package com.ray.object; import java.util.ArrayList; /** * 泛型数组列表 ,解决运行时动态更改数组的问题 * * @author ray * @since 2015-05-04

Android Launcher3去掉所有应用列表,横屏时左右两侧的留空

先看一下调整前后的效果图: // Layout AllApps AppsCustomizeTabHost host = (AppsCustomizeTabHost) launcher.findViewById(R.id.apps_customize_pane); if (host != null) { // Center the all apps page indicator int pageIndicatorHeight = (int) (pageIndicatorHeightPx * Mat

lintcode——排序列表转换为二分查找树(链表,二叉排序树)

中等 排序列表转换为二分查找树查看运行结果 27% 通过 给出一个所有元素以升序排序的单链表,将它转换成一棵高度平衡的二分查找树 您在真实的面试中是否遇到过这个题? Yes 样例 标签 Expand 相关题目 Expand 思路: 这道题将排好序的链表转化为二叉排序树,即左子树<根节点<右子树 采用递归的方法,在链表上选取中间点作为根节点, 每次传入的参数为,需要创建的根节点的指针(这里由于要改变指针的值,所以要传入指针的指针),链表开始指针,结尾指针,链表结点个数( 这里传入了个数之后,就不

聊天列表在reloadData时无法成功加载数据

在项目开发的过程中遇到这样一个问题,iPhone6上聊天列表在reloadData时无法成功加载数据,但是只要手指滑动UITableView即可成功加载. 期初被该问题给困惑住了,始终没搞明白是啥问题,后在网上查询资料终找到问题之所在并解决该问题.现将问题的分析及解决方案贴出来: 1.在子线程中无法进行UI的更新,如果表象更新成功那只是一个幻象.因为在子线程中,代码执行完毕后会自动进入主线程,从而执行子线程中UI更新的函数,这个过程是非常快速的,导致大家误以为子线程可以更新UI.如果子线程一直在

(一)求 int 型数据在内存中存储时 1 的个数

题目:求 int 型数据在内存中存储时 1 的个数 描述:输入一个 int 型数据,计算出该 int 型数据在内存中存储时 1 的个数 运行时间限制: 10 sec 内存限制:128 MByte 输入:输入一个整数(int 类型) 输出:这个数转换成2进制后,输出 1 的个数 1 #include <stdio.h> 2 3 int GetCount(int num) 4 { 5 /* 功能实现 */ 6 int ret = 0; 7 8 while (num) 9 { 10 num &

python中循环删除列表中元素时的坑![转]

原博文链接:https://www.cnblogs.com/baihualin/p/10698651.html 循环删除列表中元素时千万别用正序遍历,一定要用反序遍历! 废话不多说,先上案例代码: def test(data): for i in data: data.remove(i) return data data = [1, 2, 3] print(test(data)) 面对以上代码,乍一看以为会打印出空列表,因为test函数内通过for的方法将data中的元素都删除了,其实不然,实际