在R中更改输出中的索引
我有以下格式的数据在R中更改输出中的索引,r,R,我有以下格式的数据 "1001/02","1003","1004/05","1006" 1001 1002 1003 1004 1005 1006 我想要以下格式的输出 "1001/02","1003","1004/05","1006" 1001 1002 1003 1004 1005 1006 我运行以下代码集 a1<-c("1001/02","1003","1004/05","1006") b1<-c(1,1,1,1) z<-sapply(a1
"1001/02","1003","1004/05","1006"
1001 1002 1003 1004 1005 1006
我想要以下格式的输出
"1001/02","1003","1004/05","1006"
1001 1002 1003 1004 1005 1006
我运行以下代码集
a1<-c("1001/02","1003","1004/05","1006")
b1<-c(1,1,1,1)
z<-sapply(a1,FUN=function(x){1000+as.numeric(strsplit(x,"/")[[1]][2])})
z1<-sapply(a1,FUN=function(x){as.numeric(strsplit(x,"/")[[1]][1])})
a<-data.frame(b1,z1,z)
for(i in 1:4)
{ if(!is.na(a[i,3]))
{a[seq(i+2,nrow(a)-nrow(a[i,])+i+2),]<-a[seq(i+1,i+nrow(a)-nrow(a[i,])+1),]
a[i+1,2]<-a[i,3]}
}
output<-a[,1:2]
请建议如何将输出的索引更改为1,2,3…我相信可以用b1完成。预期结果是什么?这是我预期的o/p 1001 1002 1003 1004 1005 1006谢谢hrbrmstr。你让它看起来很简单。保存了这么多行代码。正是我想要的o/p。
dat <- c("1001/02","1003","1004/05","1006")
gsub("^0", "100", unlist(strsplit(dat, "/")))
## [1] "1001" "1002" "1003" "1004" "1005" "1006"