0

我试图创建一个忽略 NA 值进行练习的求和函数。我的代码是:

my.sum <- function(x){
sum.f = 0
y <- !is.na(x)
z <- x[y]
n <- length(z)
  for (i in 1 : n) {
      sum.f <- sum.f  + z[i]
            }
return(sum.f)
} 

当我直接在 R 控制台中运行代码时,我看到了预期的代码:

> > my.sum <- function(x){
> + sum.f = 0
> + y <- !is.na(x)
> + z <- x[y]
> + n <- length(z)
> +   for (i in 1 : n) {
> +       sum.f <- sum.f  + z[i]
> +             }
> + return(sum.f)
> + }

但是当我在 Tinn-R 中运行代码时,我看到的是:

my.sum <- function(x){
> + sum.f = 0
> + y <- !is.na(x)
> + z <- x[y]
> + n <- length(z)
> +   for (i in 1 : n) {
> +       sum.f <- sum.f  + z[i]
> +             .... [TRUNCATED]

在 Tinn-R 控制台中是什么意思,[TRUNCATED]为什么我会得到它?

4

1 回答 1

1

在 Tinn-R 内部,如果选项R echo (on/off) 为 on,当您发送选择时,如果它有多行,Tinn-R 会向 R 解释器发送如下指令:

> source(.paths[5], echo=TRUE, max.deparse.length=60)

参数max.deparse.length控制单个表达式的 deparse 输出的最大字符数。在我的示例中是 60。所以在 60 个字符后回显 R 打印:

>.... [TRUNCATED]

您可以在 Tinn-R 中轻松更改此值:Options/Application/R/Basic 主题:Option (max.deparse.length (echo=TRUE))

于 2019-03-22T03:12:53.863 回答