log2 变换 ff 对象

log2 transform ff objects

我想对来自 ff 包的 ff 对象中的所有数值进行 log2 转换。

使用我的 df:

library(ff)
    df <- 'probeset_id sample1 sample2 sample3
            probe_1 1834.2 1743.4 1384
            probe_2 4711 4922 4650
            probe_3 4555 1387 4650.8
            probe_4 2588 1325 3258'
    df <- read.table(text=df, header=T)
    write.table(df, "del.txt", col.names=T, row.names=F, quote=F, sep="\t")
    df <- read.table.ffdf(file="del.txt", header=T)

我尝试了以下代码,但出现错误:

df[, 2:length(df)] <- log(df[2:length(df)], 2)
Error in log(df[2:length(df)], 2) :
  non-numeric argument to mathematical function

有没有一种方法可以将此功能应用于 ff 个对象?

log(df[,2:length(df)],2) 有效,但如果你有一个大数据框,sapply(df[,2:length(df)],log2) 可能会更好。