结合grep和r

结合grep和r,r,R,我有一个具有以下特征的数据帧 names<-c("test1", "test2", "test3", "not4", "test5") age<-as.numeric(c(1,2,3,4,5)) identifier<-as.numeric(c(0,0,0,0,0)) df<-data.frame(names,age, identifier) 您的代码出现错误,因为您在[]内添加了一个额外的。当您尝试对行索引进行子集时,这是必需的。然而,在这里,我们试图子集一个向量。

我有一个具有以下特征的数据帧

names<-c("test1", "test2", "test3", "not4", "test5")
age<-as.numeric(c(1,2,3,4,5))
identifier<-as.numeric(c(0,0,0,0,0))

df<-data.frame(names,age, identifier)

您的代码出现错误,因为您在[]内添加了一个额外的。当您尝试对行索引进行子集时,这是必需的。然而,在这里,我们试图子集一个向量。因此没有行/列索引

df$identifier[grepl("test", df$names) & df$age >=3] = 1

您的代码出现错误,因为您在
[]
中添加了额外的
。当您尝试在行上创建子集时,这是必需的indices@joel.wilson这应该是一个答案。
df[grep(".*test.*", df$names) & df$age>=3,]
  names age identifier
3 test3   3          0
4  not4   4          0
5 test5   5          0

Warning message:
In grep(".*test.*", df$names) & df$age >= 3 :
  longer object length is not a multiple of shorter object length
df$identifier[grepl("test", df$names) & df$age >=3] = 1