r - 确定输入是否是 R 中的结构体数组字段
问题描述
我正在尝试将一些代码从MATLAB转换为R。在MATLAB isfield(S,field)
中是确定输入是否为结构体数组字段的方法。例如,在MATLAB中,当 if 语句为 TRUE 时,以下语句返回 0.1。
if isfield(opt,'Nick'), opt.Nick = 0.1 end
R中是否有相应的命令可以执行相同的过程?
解决方案
R 中的一种可能替代方法(List
用于在 MATLAB 中表示结构):
if ("Nick" %in% names(opt)) {
opt$Nick <- 0.1
}
这样
> str(opt)
List of 2
$ Ida : num [1:5] 1 2 3 4 5
$ Nick: num 0.1
虚拟数据
> str(opt)
List of 2
$ Ida : num [1:5] 1 2 3 4 5
$ Nick: logi NA
推荐阅读
- r - 根据三个观测值的交集将观测值输入向量的程序
- swift - UICollectionViewCompositionalLayout 中的动态项目计数可能吗?
- eclipse - 在 Intellij 中更新 Kotlin 后在 Eclipse 中运行应用程序时出错
- java - 从 ComboBox 中选择值时如何处理 for 循环的大小变化
- mysql - Laravel mysql if else 条件
- c - 为什么指向结构的指针的指针在以下代码中有效,但在单个指针中无效
- python - 来自未来的 Python3 / str 和 string_types 中等效的 Basestring,六个不起作用
- jquery - JQuery - 防止提交时刷新页面
- r - 从 JPEG 创建 Spark 对象并在非翻译函数上使用 spark_apply()
- node.js - 缓存静态资产的最佳算法