我想找到“苹果”一词的第一行,并在此上方删除所有行。
我知道如何通过多个步骤进行操作:first_apple_row <- min(which(apply(sample_df, 1, function(row) any(grepl("apple", row)))))
result_df <- sample_df[first_apple_row:nrow(sample_df),]
col1 col2 col3 col4 col5
4 4 apple pie: w 40.1 TRUE
5 5 e v 50.9 apple
r中的功能可以更直接地完成?
虽然不是最快,但很简单。我们可以在列上迭代:
i = min(as.numeric(sapply(sample_df, \(i) grep('apple', i))), na.rm=TRUE)
sample_df[-seq(i-1), ]
col1 col2 col3 col4 col5
4 4 apple pie: w 40.1 TRUE
5 5 e v 50.9 apple