R Function-尝试使其更快和替代品
R Function- Attempt to make it faster and Alternatives
我怎样才能使下面的功能更快,对于较大的数据集,完成应用需要很长时间?
这是我在下面的代码中尝试的内容:
- 从字符串中提取数字。
- 因为提取的数字可能是 1 或 2 位数字。因此,我使用了一个控制结构。
- 我正在使用具有 运行 这个函数的索引,这使得这个操作太长了。
请提出替代方案。
- 数据集列
c<-NULL
c$sub<-substr(rt404$secs.1.,6,7)
c$secs<-NA
c<-as.data.frame(c)
subfun<-function(i,data){
if (nchar(as.character(data[i,8]))==7) c[i,2]<-substr(data[i,8],6,6)
else c[i,2]<-substr(data[i,8],6,7)
}
c$seconds<-sapply(1:(length(c[,1])),subfun,data=rt502)
c$secs <- ifelse(nchar(as.character(rt502[,8]))==7,
substr(rt502[,8],6,6),
substr(rt502[,8],6,7))
这是您要找的吗?
我怎样才能使下面的功能更快,对于较大的数据集,完成应用需要很长时间?
这是我在下面的代码中尝试的内容:
- 从字符串中提取数字。
- 因为提取的数字可能是 1 或 2 位数字。因此,我使用了一个控制结构。
- 我正在使用具有 运行 这个函数的索引,这使得这个操作太长了。
请提出替代方案。
- 数据集列
c<-NULL
c$sub<-substr(rt404$secs.1.,6,7)
c$secs<-NA
c<-as.data.frame(c)
subfun<-function(i,data){
if (nchar(as.character(data[i,8]))==7) c[i,2]<-substr(data[i,8],6,6)
else c[i,2]<-substr(data[i,8],6,7)
}
c$seconds<-sapply(1:(length(c[,1])),subfun,data=rt502)
c$secs <- ifelse(nchar(as.character(rt502[,8]))==7,
substr(rt502[,8],6,6),
substr(rt502[,8],6,7))
这是您要找的吗?