在r markdown中抑制控制台输出,但保留情节

时间:2015-06-12 19:07:23

标签: r markdown rstudio

您好我有以下降价块:

```{r, echo=FALSE,warning=FALSE,message=FALSE,error=FALSE}
lapply(obj,function(x) plot(x,main="some plot") box() axis(1,at=seq(0,25,by=1))
```

输出是多个图。但是,我也在图表下面的pdf文档中获得控制台消息。

<Plot 1> nice plot 1!
<Plot 2> nice plot 2!

-- nasty horrible console output
## [[1]] 
01.2882829 

## [[2]]
120.29393933

我已经尝试了echo / warning / error / message = FALSE,但这些都没有抑制控制台输出

请帮忙!

6 个答案:

答案 0 :(得分:30)

试试这个:

{r, echo=FALSE,results='hide',fig.keep='all'}
lapply(obj,function(x) plot(x,main="some plot") box() axis(1,at=seq(0,25,by=1))

答案 1 :(得分:9)

invisible中包装任何对象都会自动阻止print

你应该可以使用

invisible(lapply(obj,function(x) plot(x,main="some plot")))

然而,echo=FALSE不起作用的事实表明可能还有其他事情发生。

答案 2 :(得分:2)

我的R笔记本中也遇到了这个问题,echo=FALSE没有执行任何操作。但是message=FALSE确实如此。

```{r, message=FALSE}

答案 3 :(得分:2)

仅对块选项使用import * as React from 'react'; import * as _ from 'lodash' import { IValidationItem } from '../../../Interfaces/IValidationItem' import TextField, { TextFieldProps } from "@material-ui/core/TextField"; interface IValidatedTextFieldProps { validate?: IValidationItem[], validateon?: 'onBlur' | 'onChange', validationerror?: (hasError?: boolean) => void } interface IValidatedTextFieldState { validationErrorMessage: string, validationError: boolean } type ValidatedTextFieldAllProps = IValidatedTextFieldProps & TextFieldProps class ValidatedTextField extends React.Component<ValidatedTextFieldAllProps, IValidatedTextFieldState> { public constructor(props: ValidatedTextFieldAllProps) { super(props); this.state = { validationErrorMessage: "", validationError: false } } public validationWrapper = (event: any) => { const { validate, } = this.props; return !validate ? "" : _.forEach(validate, (validationItem: IValidationItem) => { const result = !validationItem.func(event.target.value) if (result) { this.setState({ validationErrorMessage: validationItem.validationMessage }); this.setState({ validationError: result }) this.callParentValidationErrorMethod(result) return false; } else { this.setState({ validationErrorMessage: "" }); this.setState({ validationError: result }) this.callParentValidationErrorMethod(result) return; } }); }; public onBlurValidation = (event: any) => { const { onBlur, validateon, validate } = this.props; if (_.isFunction(onBlur)) { onBlur(event); } if (validateon === "onBlur" && !!validate) { this.validationWrapper(event); } public onChangeValidation = (event: any) => { const { onChange, validateon, validate } = this.props; if (_.isFunction(onChange)) { onChange(event); } if (validateon === "onChange" && !!validate) { this.validationWrapper(event); }; } public callParentValidationErrorMethod = (hasError: boolean) => { if(_.isFunction(this.props.validationerror)) { this.props.validationerror(hasError); } } public render() { const { validationErrorMessage, validationError } = this.state return (<TextField {...this.props} onBlur={(event: any) => { this.onBlurValidation(event); }} onChange={(event: any) => { this.onChangeValidation(event); } } error={validationError} helperText={validationErrorMessage} />) } } export default ValidatedTextField; ```{r, results = 'hide'}会抑制R输出,但不会抑制警告,消息或错误。不需要额外的功能。

更多详细信息可以在这里找到。 https://yihui.name/knitr/options/#text-results

答案 4 :(得分:2)

尝试一下,

它将隐藏错误,警告,代码和控制台输出。它只会显示图形。

{r, echo=FALSE,warning=FALSE,message=FALSE,error=FALSE, results='hide',fig.keep='all'}
lapply(obj,function(x) plot(x,main="some plot") box() axis(1,at=seq(0,25,by=1))

以后,您可以将其导出为整洁可读的HTML

答案 5 :(得分:1)

这些是对我有用的选项:

echo=FALSE, message=FALSE, results='hide'