r - 仅将 log2 转换应用于 data.frame 的数字列
问题描述
我正在尝试log2
对我的数据集进行转换,但我不断收到一条错误消息,提示“数据框中的非数字变量”。我的数据有row.names = 1
并且header = TRUE
属于类data.frame()
我尝试添加lappy(na.strings)
,但这并不能解决问题
Shared_DEGs <- cbind(UT.Degs_heatmap[2:11], MT.Degs_heatmap[2:11], HT.Degs_heatmap[2:11])
Shared_DEGs1 <- `row.names<-`(Shared_DEGs, (UT.Degs_heatmap[,1]))
MyData.INF.log2 <- log2(Shared_DEGs1)
数据应该被 log2 转换为输出
解决方案
另一种使用base R
's 的方式rapply
,请使用@r2evans 提供的数据。
rapply(mydf, f = log2, classes = c("numeric", "integer"), how = "replace")
# num int chr lgl
#1 1.651496 2.321928 A TRUE
推荐阅读
- javascript - React 的错误:组件在页面刷新之前不会呈现
- c# - 无法翻译查询
- ghidra - 为什么 ghidra 跳过一些地址
- excel - 从 GiThub 下载 Excel 到 Excel
- java - 无法在类预期参数上找到适当的构造函数是:java.util.collection
- dita-ot - 如果输入参数具有 UNC 路径,则无法在 DITA-OT 中生成字输出
- angular - 如何在 ShadowDom 中使用 mat-icon
- c# - 如何在 ASP.Net Core 的服务层基类中获取当前用户?
- javascript - 在给定的文本偏移处插入 HTML
- python - Openpyxl 工作表不存在