阅读我项目中每个 R 脚本的第一行
Read the first line of every R script in my project
我正在尝试组织一个我的团队一直在合作的不断发展的 R 项目。我最初的想法是将所有脚本名称放入一个列表
x = list.files(recursive = TRUE)
然后把它放在电子表格中,这样我就可以浏览,思考哪些脚本已经过时,哪些可能应该形成单独的项目。
值得庆幸的是,大多数脚本的顶部都有一行注释,总结了脚本的内容。
有没有一种 R 方法可以将所有这些第一行评论放入数据框中?即 R 中是否有从文件名中提取代码行的函数?
尝试以下操作:
myRFiles = list.files(pattern = "*.R")
firstLines = lapply(myRFiles, FUN = read.table, nrows = 1, sep = "\n")
df = do.call(rbind, firstLines)
myRFiles
包含您所有的 R 文件(根据您的情况更改模式)。
使用 read.table
可以读取第一行 (nrows=1
) 并使用换行符 (\n
) 作为分隔符,因此每个文件只读取一列。
最后用 do.call
和 rbind
将所有数据连接成一个数据框
您可以通过readLines(n = 1)
读取文件的第一行。要读取所有第一行,请使用应用循环。然后你可以将结果放入数据框中。
data.frame(comment = sapply(x, readLines, n = 1))
其中 x
是文件名的字符向量。
我正在尝试组织一个我的团队一直在合作的不断发展的 R 项目。我最初的想法是将所有脚本名称放入一个列表
x = list.files(recursive = TRUE)
然后把它放在电子表格中,这样我就可以浏览,思考哪些脚本已经过时,哪些可能应该形成单独的项目。
值得庆幸的是,大多数脚本的顶部都有一行注释,总结了脚本的内容。
有没有一种 R 方法可以将所有这些第一行评论放入数据框中?即 R 中是否有从文件名中提取代码行的函数?
尝试以下操作:
myRFiles = list.files(pattern = "*.R")
firstLines = lapply(myRFiles, FUN = read.table, nrows = 1, sep = "\n")
df = do.call(rbind, firstLines)
myRFiles
包含您所有的 R 文件(根据您的情况更改模式)。
使用 read.table
可以读取第一行 (nrows=1
) 并使用换行符 (\n
) 作为分隔符,因此每个文件只读取一列。
最后用 do.call
和 rbind
您可以通过readLines(n = 1)
读取文件的第一行。要读取所有第一行,请使用应用循环。然后你可以将结果放入数据框中。
data.frame(comment = sapply(x, readLines, n = 1))
其中 x
是文件名的字符向量。