将字符串转换为日期在BlueSky Statistics中不起作用

时间:2019-05-05 23:53:53

标签: r datetime 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变量,并用代表日期的字符填充。

1 个答案:

答案 0 :(得分:0)

在将字符串转换为日期类型的情况下,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由于格式无效而无法将字符串转换为日期。

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

将字符串变量转换为日期的选项可以在下面找到 数据->日期->将字符串转换为日期