在R中找到以特殊符号开头的第一行
Find the first line starting with a special symbol in R
我有一组文本文件。在每一个中,有用的信息都从以 ! 开头的第一行开始。在下面显示的示例中,有用的信息从第 3 行开始。
LINES,1
TYPES,T1,I,I,N,T1
!,CODE,GROUP,MTH,COMP
*,1,16,1,"A"
但是,第一行以 !在不同的文本文件中的位置不同。例如,在另一个文件中,有用的信息从第 4 行开始。
95
LINES,1
TYPES,T1,I,I,N,T1
!,CODE,GROUP,MTH,COMP
*,1,16,1,"A"
所以我需要在每个文本文件中找到这一行对应的行号。如何在 R 中这样做?我尝试使用以下代码来提取每行的第一个字母。然而,这并没有奏效。
x <- readLines("Test_Case.txt")
First.Letter <- function(x) substring(x, 1, 1)
apply(x, 1, First.Letter)
Error in apply(x, 1, First.Letter) : dim(X) must be positive.
您可以在您的行中使用 min
和 grepl
的组合...您不需要额外的起始字母功能。使用正则表达式只匹配第一个字符。
min(grep('^!', c('bla','blub','!test','!2nd')))
或者你的情况
x <- readLines("Test_Case.txt")
important_line <- min(grepl('^!', x))
我有一组文本文件。在每一个中,有用的信息都从以 ! 开头的第一行开始。在下面显示的示例中,有用的信息从第 3 行开始。
LINES,1
TYPES,T1,I,I,N,T1
!,CODE,GROUP,MTH,COMP
*,1,16,1,"A"
但是,第一行以 !在不同的文本文件中的位置不同。例如,在另一个文件中,有用的信息从第 4 行开始。
95
LINES,1
TYPES,T1,I,I,N,T1
!,CODE,GROUP,MTH,COMP
*,1,16,1,"A"
所以我需要在每个文本文件中找到这一行对应的行号。如何在 R 中这样做?我尝试使用以下代码来提取每行的第一个字母。然而,这并没有奏效。
x <- readLines("Test_Case.txt")
First.Letter <- function(x) substring(x, 1, 1)
apply(x, 1, First.Letter)
Error in apply(x, 1, First.Letter) : dim(X) must be positive.
您可以在您的行中使用 min
和 grepl
的组合...您不需要额外的起始字母功能。使用正则表达式只匹配第一个字符。
min(grep('^!', c('bla','blub','!test','!2nd')))
或者你的情况
x <- readLines("Test_Case.txt")
important_line <- min(grepl('^!', x))