r - R:返回两个值的函数,用长垂直线 (|) 分隔
问题描述
我想要一个函数返回用长垂直线 (|) 分隔的两个值
FUN1 <- function(x) {
attach(x)
return(min(x2))
}
FUN2 <- function(x) {
attach(x)
return(x1[which.min(x2)])
}
set.seed(1)
x <- data.frame(
x1 = 1:10,
x2 = rnorm(10)
)
FUN1(x)
FUN2(x)
我想将这两个函数 (FUN1
和FUN2
) 合二为一,结果如下:
-0.8356286|3
解决方案
使用sprintf
以及signif
避免0.000
's,
do.call(sprintf, c('%s|%s', rev(signif(x[which.min(x$x2), ], 3))))
# [1] "-0.836|3"
或者如果您打开稍微不同的格式:
toString(rev(signif(x[which.min(x$x2), ], 3)))
# [1] "-0.836, 3"
推荐阅读
- swagger - 将“条目”字段添加到组件的属性会破坏编译器
- android - 更改设备名称后多次启动外设广告
- python - Python 3 - 解析 .json
- deno - Deno - 将 TypeScript 导入 JS 文件
- python - 使用 mozilla/TTS 是否可以使用其他预训练的模型声音?
- c - 处理任何文件输入/输出时出现分段错误
- javascript - Firebase 和 JavaScript 安全问题?
- python - 根据课程ID更新django中的布尔值状态
- python - python flask wtf形式从函数返回值
- sql - 如何将左连接与第二个选择语句一起使用?