我目前正面临这个问题。分析大数据集(大约300万个观测值),我需要将变量从一种格式转换为另一种格式。具体来说,我有几家公司成立的日期,但有两种格式:YYYY
或MM-DD-YYYY
,或其他可能的格式,其后四个字符始终与年份相对。
我只需要一年的时间,因此我开发了以下代码:
library(stringi)
for (i in 1:length(amadeus$Dateofincorporation) {
if(nchar(amadeus$Dateofincorporation[i]) == 4 &
!is.na(amadeus$Dateofincorporation[i])) {
amadeus$Dateofincorporation[i] <- amadeus$Dateofincorporation[i]
}
else if (nchar(amadeus$Dateofincorporation[i]) != 4 &
!is.na(amadeus$Dateofincorporation[i])) {
amadeus$Dateofincorporation[i] <- stri_sub(amadeus$Dateofincorporation[i],-4,-1)
}
else {
amadeus$Dateofincorporation[i] <- amadeus$Dateofincorporation[i]
}
}
该代码执行了很长时间,然后返回输出:
有人对如何处理有想法吗?
附言该 vector 当前是字符 vector ,您认为这有影响吗?
最佳答案
看起来可能很奇怪,但是我重新运行了代码,现在可以了。我的意思是,仍然给出上述警告,但输出是所需的警告。
我认为了解警告的来源无关紧要,所以谢谢大家!