You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言fossil包create.matrix函数的时间格式与参数设置问询

使用fossil包的create.matrix函数创建矩阵的时间格式与参数设置问题

我想使用fossil包的create.matrix函数创建包含分类单元、地点、时间和丰度的矩阵。该函数通过time.col(存储时间期的列名/列号)和time(需保留的时间期)参数指定时间。我的数据表中时间为d.m.y格式的日历日期(如31.12.2022),现咨询:

  1. 数据表中的时间需如何指定或格式化才能被create.matrix函数识别?
  2. time参数中应如何指定时间期?

补充(2024年4月21日):
我想要创建“物种×(地点×日期)”矩阵,部分地点仅采样一次,部分多次,想将采样日期(数据集中的date列)作为time参数的“时间期”,但不知如下代码中time参数处(????)应如何填写:

df <- create.matrix(dat, tax.name = "taxon_abbrev",
                    locality = "locality_ID",
                    time.col="date",
                    time="????",
                    abund.col = "num",
                    abund = TRUE)

问题解答

1. 时间列的格式化要求

create.matrix对时间列的格式没有强制的特殊要求,只要它是格式统一的字符型或因子型变量即可。为避免日期解析歧义,建议先将d.m.y格式的字符串转换为R标准日期类型,操作代码如下:

# 读取数据时保留date列为字符型
dat <- read.table("dat.txt", sep = "\t", header = TRUE, stringsAsFactors = FALSE)
# 转换d.m.y格式为R标准日期
dat$date <- as.Date(dat$date, format = "%d.%m.%Y")

如果不需要后续日期运算,直接保留原d.m.y格式的字符列也可以正常被函数识别,前提是所有日期格式完全一致。

2. time参数的填写方式

由于你需要将每个采样日期作为独立时间期,有两种可行的设置方式:

方式一:自动保留所有日期(推荐)

直接将time设为NULL,函数会自动提取time.col列中的所有唯一值作为时间期,无需手动指定:

df <- create.matrix(dat, tax.name = "taxon_abbrev",
                    locality = "locality_ID",
                    time.col="date",
                    time=NULL,
                    abund.col = "num",
                    abund = TRUE)

方式二:指定特定日期

如果仅需保留部分日期,可先提取数据中的唯一日期,或直接指定目标日期传入time参数:

# 获取数据中所有唯一日期
unique_dates <- unique(dat$date)
# 也可手动指定需要的日期,例如:
# unique_dates <- as.Date(c("2022-12-31", "2023-01-15"), format = "%Y-%m-%d")

df <- create.matrix(dat, tax.name = "taxon_abbrev",
                    locality = "locality_ID",
                    time.col="date",
                    time=unique_dates,
                    abund.col = "num",
                    abund = TRUE)

注意:如果date列未转换为日期类型,需使用对应字符格式传入,比如c("31.12.2022", "15.01.2023")。

内容的提问来源于stack exchange,提问作者benjamin jarcuska

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 21:42:24