首页 > 解决方案 > 将字符串转换为日期在 BlueSky Statistics 中不起作用

问题描述

日期转换命令运气不佳。尝试了几种不同的前缀。该功能似乎需要它,但运行时失败并带有NULL. 这是生成的脚本:

## [Convert String Variables to Date]

BSkystrptime (varNames = c('date__3'),dateFormat = "%m/%d/%y %H:%M:%S",prefixOrSuffix = "suffix",prefixOrSuffixValue = "posix",data = "Dataset6")

BSkyLoadRefreshDataframe(dframe=Dataset6,load.dataframe=TRUE)

这是输出:

BSkystrptime (varNames = c('date__3'),dateFormat = "%m/%d/%y %H:%M:%S",prefixOrSuffix = "suffix",prefixOrSuffixValue = "posix",data = "Dataset6")

NULL

BSkyLoadRefreshDataframe(dframe=Dataset6,load.dataframe=TRUE)

date__3变量存在并填充有表示日期的字符。

标签: rdatetimestatistics

解决方案


将字符串转换为日期类型的情况下的NULL不表示错误,您应该检查数据网格的列,应该生成带有前缀/后缀的新列。

在某些情况下,新的日期字段将包含“0001-01-01 00:00:00”,这是因为您选择的格式即“%m/%d/%y %H:%M:%S”与要转换为日期的字符变量中的数据不匹配。

这里有一些提示

工具->配置设置->选择输出选项卡,现在选择在输出窗口中显示语法的选项。这将向您展示我们触发的 R 语法。你可以修改它。我正在协助的另一个人发现这很有帮助。原因是您选择了不正确的格式,例如,如果您选择了 "%m/%d/%y %H:%M:%S" 而不是 "%m/%d/%Y %H:%M:% S”(注意区别是 y 的大写),您会看到日期字段在网格中转换为日期“0001-01-01 00:00:00”。这基本上表明由于格式无效,R 无法将字符串转换为日期。

在处理使用前缀或后缀创建的新变量时,另一个有用的对话框是按字母顺序对变量进行排序。尝试按字母顺序对数据集中的变量进行数据排序

将字符串变量转换为日期的选项可以在 Data->Dates->Convert String to Date 下找到


推荐阅读