R - 列值的子串

时间:2015-04-09 10:23:32

标签: r dataframe substring

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

Example

我的数据框称为“测试”。 我想要实现的是获取Date值的最后两个数字并将它们存储到另一个数据框中。所以最终结果如下:

   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)

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

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