У меня есть следующие данные:
lines Freq
BrentOptimizer brentOptimizer0 = new BrentOptimizer(double0, double0); 168
BrentOptimizer brentOptimizer1 = new BrentOptimizer(double0, double1, convergenceChecker0); 39
BrentOptimizer brentOptimizer0 = new BrentOptimizer(int1, double2); 4
BrentOptimizer brentOptimizer3 = new BrentOptimizer(int3, double2, convergenceChecker1); 2
BrentOptimizer brentOptimizer0 = new BrentOptimizer(doubleArray0[6], int2); 3
BrentOptimizer brentOptimizer1 = new BrentOptimizer(int2, double2, convergenceChecker0); 3
Я хотел бы получить данные только тех строк, которые содержат три строки в скобках. В этом случае нужно извлечь только три следующие строки:
lines Freq
BrentOptimizer brentOptimizer1 = new BrentOptimizer(double0, double1, convergenceChecker0); 39
BrentOptimizer brentOptimizer3 = new BrentOptimizer(int3, double2, convergenceChecker1); 2
BrentOptimizer brentOptimizer1 = new BrentOptimizer(int2, double2, convergenceChecker0); 3
Я начал писать следующий скрипт, но не смог его завершить, потому что я не знаком с регулярным выражением:
df <- read.csv("/home/adam/Desktop/data.csv")
x <- gsub("[\\(\\)]", "", regmatches(df$lines, gregexpr("\\(.*?\\)", df$lines)))
all <- data.frame()
for(i in 1:5){
if(length(x[i]) > 2){
# retrieve the data and rbind it to all
}
}
Не могли бы вы помочь мне решить это?