【问题标题】:Run R script / function declaration without repeating the contents of the code?在不重复代码内容的情况下运行 R 脚本/函数声明?
【发布时间】:2017-11-15 13:05:06
【问题描述】:

我有 R 文件,我在其中编写代码、定义函数并使用它们。 当我运行它时,我看到我所有的蓝色代码都在重复,然后它运行代码。

请告知如何避免这种行为。

例如:

ped2df <- function(file) {

  df <- read.pedfile(file)
  names(df) <- df[1,]
  df <- df[-1,]
  df <- gather(df)

 }
test <- lapply(files, ped2df)

Running this:

# Get ped files and convert them into long dfs:
> 
> ped2df <- function(file) {
+   
+   df <- read.pedfile(file)
+   names(df) <- df[1,]
+   df <- df[-1,]
+   df <- gather(df)
+   
+ }
> 
> test <- lapply(files, ped2df)

我希望它只运行test &lt;- lapply(files, ped2df)

附言

我尝试添加;,但没有帮助。

【问题讨论】:

  • 您是否尝试在点击运行之前选择您要运行的代码部分?
  • 我有一个脚本 + 函数 + 运行这些函数 + 加载数据等。我需要所有先决条件才能运行和使用我展示的命令。有没有办法做到这一点?
  • 是您不想看到控制台中的函数定义的问题吗?还是您根本不希望函数定义运行的问题?
  • 我希望声明/分配/函数静默运行并仅显示实用方面:我定义了函数 foo,仅显示它的用法:r
  • 我希望防御/功能对于运行它们的人来说是黑盒的。这里是一个函数,这里是实现并得到想要的结果的包装器,我不想让你看到函数细节和代码。

标签: r function output


【解决方案1】:

如果您想使用自定义函数,但在运行脚本时不显示它们,您可以使用source("your_self_defined_functions.R")

您将.R 文件拆分为两个文件:

  • 您可以在其中定义函数(另存为"your_self_defined_functions.R"
  • 您只想调用函数并进行分析。

后者应该是这样的:

source("your_self_defined_functions.R")

files <- somethingsomething
test <- lapply(files, ped2df)

而整个your_self_defined_functions.R 是静默运行的。

【讨论】:

  • 我知道这一点,但我想在一个文件中完成,这可能吗?
  • 为什么不想看函数定义呢?和 Markdown 有关系吗?
  • 什么意思?我对它不太熟悉。我的目标是显示相关信息/运行详细信息,我希望所有声明都以静默方式运行,尤其是函数。
  • 我不知道这种可能性。我要么按照芭芭拉的建议去做,只突出显示你想在控制台中显示的代码,要么使用source()
  • 谢谢肯!你是专业人士,我相信你,所以我会按照你/芭芭拉的方式去做。
猜你喜欢
  • 2014-08-24
  • 1970-01-01
  • 1970-01-01
  • 2018-04-13
  • 2019-03-27
  • 1970-01-01
  • 2016-09-18
  • 2018-11-20
  • 1970-01-01
相关资源
最近更新 更多