我有一个数据集,在同一列中有日期和利率.我需要将这两个数字拆分为两个单独的列,但是当我使用以下代码时:
Split <- str_split(df$Dates, "[ ]", n = 2)
Dates <- unlist(Split)[1]
Rates <- unlist(Split)[2]
Run Code Online (Sandbox Code Playgroud)
它仅返回每个元素的第一个"值",即日期的"1971-04-01"和费率的"7.43".我需要它返回字符串拆分部分的所有值,并为字符串拆分的第二部分返回相同的值
下面是数据集的一部分,总行数= 518.
1971-04-01 7.31
1971-05-01 7.43
1971-06-01 7.53
1971-07-01 7.60
1971-08-01 7.70
1971-09-01 7.69
1971-10-01 7.63
1971-11-01 7.55
1971-12-01 7.48
1972-01-01 7.44
Run Code Online (Sandbox Code Playgroud)
谢谢
Dav*_*urg 11
能做
Split <- strsplit(as.character(df$Dates), " ", fixed = TRUE)
Dates <- sapply(Split, "[", 1)
Rates <- sapply(Split, "[", 2)
Run Code Online (Sandbox Code Playgroud)
您可以使用 reshape2::colsplit
library(reshape2)
colsplit(df$Dates, ' ', names = c('Dates','Rates'))
# Dates Rates
# 1 1971-04-01 7.31
# 2 1971-05-01 7.43
# 3 1971-06-01 7.53
# 4 1971-07-01 7.60
# 5 1971-08-01 7.70
# 6 1971-09-01 7.69
# 7 1971-10-01 7.63
# 8 1971-11-01 7.55
# 9 1971-12-01 7.48
# 10 1972-01-01 7.44
Run Code Online (Sandbox Code Playgroud)