首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用R循环向量,将部分序列复制到data.frame中

利用R循环向量,将部分序列复制到data.frame中
EN

Stack Overflow用户
提问于 2014-11-22 17:52:02
回答 1查看 197关注 0票数 0

我想在向量中搜索字符串"hello“"world”的序列。当我找到这个序列时,我希望将它(包括前后的10个元素)作为行复制到data.frame中,并对其进行进一步的分析。

我的问题是:我得到了一个错误:“新列将在现有列之后留下漏洞”。我刚开始编写代码,所以我不知道如何操作data.frames。也许我需要在循环中创建行?

这就是我所拥有的:

代码语言:javascript
复制
df = data.frame()
i <- 1
for(n in 1:length(v))
{

  if(v[n] == 'hello' & v[n+1] == 'world')
  {
    df[i,n-11:n+11] <- v[n-10:n+11]
    i <- i+1
  }
}

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-22 18:20:14

也许这会有帮助

代码语言:javascript
复制
indx <- which(v1[-length(v1)]=='hello'& v1[-1]=='world')
lst <- Map(function(x,y) {s1 <- seq(x,y)
                   v1[s1[s1>0 & s1 < length(v1)]]}, indx-10, indx+11)

len <- max(sapply(lst, length))

d1 <- as.data.frame(do.call(rbind,lapply(lst, `length<-`, len)))

数据

代码语言:javascript
复制
set.seed(496)
v1 <- sample(c(letters[1:3], 'hello', 'world'), 100, replace=TRUE)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27080557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档