R Markdown代码块无返回结果:params传参调用数据框列名返回NULL
问题原因及解决方法
问题根源
你在YAML里定义的params$data是字符串类型(值为"spreadspoke_scores"),而colnames()函数需要传入实际的数据框对象,直接对字符串调用colnames()自然会返回NULL。
解决步骤
把字符串转换为对应环境中的数据框对象即可,有两种常用方法:
方法1:使用get()函数
修改代码块如下:
```{r get-colnames} # 把字符串转为数据框对象后再取列名 colnames(get(params$data))
#### 方法2:使用`eval()` + `as.name()` 如果`get()`不符合你的场景,也可以用这种方式: ```r ```{r get-colnames} colnames(eval(as.name(params$data)))
### 额外说明 代码块的标签(即`{r }`里的内容)用`params$data`没有实际意义,建议改成固定名称(比如上面的`get-colnames`),方便后续定位代码块。 内容的提问来源于stack exchange,提问作者Abartel
相关产品推荐
相关产品推荐

