R - 列值的子串

R - Substring of column value

我想将 "Date" 列中的子字符串值存储到另一个变量中。 这是我的数据框的样子:

我的数据框叫做"test"。 我想要实现的是获取日期值的最后两个数字并将它们存储到另一个数据框中。所以最终结果看起来像这样:

   Value
1  01
2  01
3  01

这是我已经完成的:

t.sub<-substring(test$Data, 5,6)

但是,R 返回了这个:

character(0)

和:

t.sub<-data.frame(substring(test$Data,5,6))

R 返回了这个:

[1] substr(molten$Data, 5, 6)
<0 rows> (or 0-length row.names)

您可以尝试gsub,首先确保将您的日期转换为字符:

gsub('.*([0-9]{2})$', '\1',as.character(test$Data))

对于与字符串相关的问题,我强烈建议使用包 stringr。这是我的解决方案。

require(stringr)
Date <- as.character(201101)
Date <- str_sub(Date, start=5L, end=6L)

您可以使用 df$Date 等数据框替换日期。