如何将 R 中此函数的语法应用于我的数据文件?

How can I apply the syntax of this function in R to my data file?

我正在尝试将一些荧光数据导入到 R 中的包中。由于未知原因,我的荧光计软件没有提供以包的传统格式导出的选项。

该包有一种创建自定义导入函数的方法here. My data can be found here

在我的数据中,单元格 $A2:$A50 是激发波长 (exc),单元格 B$1:BP$1 是发射波长 (em),所有其他单元格 (B2:BP50) 是 intensity/fluorescence (x).

我对 R 比较陌生,而且由于我的机器不会只给我正确的格式,所以我不确定如何获取文档并使它对我有用。任何帮助和提示都会很棒。

谢谢。

如果您以 .csv 格式下载数据,则很容易将其转换为 eemR 的首选格式。见下文

library(data.table)
library(tidyverse)
library(eemR)

importIlliter <- function(file) {
  fluoroFrame <- fread(file) %>% as.data.frame()
  return(
    list(
      file = file,
      x = fluoroFrame[ -1, -1] %>% t() %>% as.matrix() %>% unname(),
      ex = fluoroFrame[ -1, 1] %>% as.numeric(),
      em = fluoroFrame[ 1, -1] %>% as.numeric()
    )
  )
}

eem <- eem_read("Desktop/2021/eemsDataReddit.csv", import_function = importIlliter)

该函数主要做两件事:它读入数据(使用 data.table 的 fread 函数)作为 data.frame (fluoroFrame) 和 returns 带有格式化的列表eemR 需要的数据。该列表有四个条目

  1. 文件:不言自明。
  2. x:包含来自 csv 的强度数据的矩阵。 [-1, -1] 告诉 r return fluoroFrame 除了第一行和第一列的 中的所有数据。 t() 翻转或转置矩阵。
  3. ex:包含激发波长的数值向量。 [-1, 1] 删除第一行,然后取 fluoroFrame 的第一列。
  4. em:包含发射波长的数值向量。 [1, -1] 获取第一行,并删除该行的第一列。