计算内置函数中的行数,通过指定数字提取行范围
Count number of lines in an in-built function, extract range of lines by specifying numbers
假设我有一个内置函数,其代码非常冗长,所以我想计算函数中的行数,并通过为某个函数提供数字范围来仅显示部分代码。
为了查看函数中有多少行,我使用了tail()
函数,它会在每行前面显示数字
tail(XYZ_Function)
我尝试使用 head()
和 tail()
组合,即假设我想要从第 145 行到第 150 行的函数,所以我做了
tail(head(XYZ_Function,n=150),n=5)
除了组合使用 head()
和 tail()
之外,R 中是否还有可用的函数,我可以只提供对象名称和两个数字来从该对象中提取行。
非常感谢对此的任何帮助。
我不确定你是否正在寻找这个,但你可以编写自己的函数:
code_block <- function(x, y, z) { # x = your function, y = lower limit, z = upper limit
dat <- data.frame(head(x, n = z))
dat[which(as.numeric(rownames(dat)) >= y & as.numeric(rownames(dat)) <= z), ]
}
code_block(summary.lm, 12, 20)
> code_block(summary.lm, 10, 20)
10 w <- z$weights
11 if (is.null(w)) {
12 rss <- sum(r^2)
13 }
14 else {
15 rss <- sum(w * r^2)
16 r <- sqrt(w) * r
17 }
18 resvar <- rss/rdf
19 ans <- z[c("call", "terms", if (!is.null(z$weights)) "weights")]
20 class(ans) <- "summary.lm"
假设我有一个内置函数,其代码非常冗长,所以我想计算函数中的行数,并通过为某个函数提供数字范围来仅显示部分代码。
为了查看函数中有多少行,我使用了tail()
函数,它会在每行前面显示数字
tail(XYZ_Function)
我尝试使用 head()
和 tail()
组合,即假设我想要从第 145 行到第 150 行的函数,所以我做了
tail(head(XYZ_Function,n=150),n=5)
除了组合使用 head()
和 tail()
之外,R 中是否还有可用的函数,我可以只提供对象名称和两个数字来从该对象中提取行。
非常感谢对此的任何帮助。
我不确定你是否正在寻找这个,但你可以编写自己的函数:
code_block <- function(x, y, z) { # x = your function, y = lower limit, z = upper limit
dat <- data.frame(head(x, n = z))
dat[which(as.numeric(rownames(dat)) >= y & as.numeric(rownames(dat)) <= z), ]
}
code_block(summary.lm, 12, 20)
> code_block(summary.lm, 10, 20)
10 w <- z$weights
11 if (is.null(w)) {
12 rss <- sum(r^2)
13 }
14 else {
15 rss <- sum(w * r^2)
16 r <- sqrt(w) * r
17 }
18 resvar <- rss/rdf
19 ans <- z[c("call", "terms", if (!is.null(z$weights)) "weights")]
20 class(ans) <- "summary.lm"