r - 使用“$”并在 R 中的一行中运行函数的好习惯
问题描述
今天我似乎是一个“奇怪”的事情,我想知道这是否是一个好习惯。基本上有一个列表:
testList <- list("columnA" = c(1, 2, 3),
"columnB" = c(11,22,33))
然后是一个函数:
calculateMean <- function(input){
out <- lapply(input, mean)
return(out)
}
和这个:
resultTest <- calculateMean(testList)$columnA
问题:在不将函数结果存储在中间步骤中的情况下引用函数结果是否是一种好习惯?
解决方案
我们可以使用sapply
并返回一个命名向量并将其存储为单个向量,并将其用于其他情况,即假设我们想要获取该max
向量的 ,它可以直接应用而unlist
不是list
.
calculateMean <- function(input){
out <- sapply(input, mean)
return(out)
}
-输出
calculateMean(testList)
columnA columnB
2 22
关于存储输出,这取决于即如果我们想提取'columnB'的输出,我们可能需要再次运行它并执行$
。相反,将其保存为单个对象并根据需要提取
推荐阅读
- php - 无法保存在数据库中!ErrorException: preg_replace(): 参数不匹配,模式是字符串,而替换是数组
- debugging - 如果 TF(trap flag) 在 8086 微处理器中设置为 0 会发生什么?
- swift - iOS - 约束和验证特征
- javascript - 在 $_GET 查询 url 中使用 '+' 而不是 %2C'
- html - 如何找到css的图像路径
- php - 如何在 PHP 中对 CSV 文件进行排序而不将整个文件加载到内存中?
- regex - 正则表达式、反向引用和交替
- python - 32 位 Python 脚本调用在 64 位 virtualenv 中运行的多处理
- java - 交换链表算法的相邻元素
- ios - 当引脚关闭时,MKMapView 不会去集群