从行向量扩展数据框

时间:2013-06-24 22:53:51

标签: r vector dataframe

我正在尝试将boolean列添加到我的数据框中,然后根据这些值进行汇总。似乎很简单。

逻辑基于现有列中的搜索字符串。所以我想我首先使用grep创建向量,识别我的“好”行...

v1<-grep("bingo",df$col1)
v2<-grep("bingo",df$col2)

> head(v1)
[1]   64  741 1657 1905 2010 4116
> head(v2)
[1]  28  68 181 191 296 667

然后我想我可以使用某种合并/绑定/转换功能将列附加到原始数据框。

df$add1<-cbind(df,v1)
df$add2<-cbind(df,v2)

但由于“论据意味着行数不同”而无法正常工作

知道怎么做吗?

2 个答案:

答案 0 :(得分:3)

您可能会发现grepl(逻辑grep)更易于使用:

df$v1 <- grepl("bingo",df$col1)
df$v2 <- grepl("bingo",df$col2)

答案 1 :(得分:1)

如果v1是应该为TRUE的行,您可以:

df$bingo <- FALSE
df$bingo[v1] <- TRUE