scale.list <- lapply(norm.list,function(mat){ Seurat:::ScaleData.default(object = mat, features = hvg.features,verbose=FALSE)})
时间: 2023-06-11 17:10:28 浏览: 52
这段代码是一个使用lapply函数的语句,用于对一个存储了多个基因表达矩阵的列表(norm.list)中的每个矩阵进行数据标准化操作。具体来说,它使用了Seurat包中的ScaleData.default函数,对每个矩阵进行标准化,并将标准化后的结果存储在一个新的列表(scale.list)中。其中,features参数指定了用于标准化的基因集合,verbose参数用于控制是否输出详细信息。
相关问题
scale.list <- lapply(1:length(count.list),function(i){ return (scale.list[[i]][na.omit(match(rownames(count.list[[i]]),rownames(scale.list[[i]]))),])})
这段代码是将每个数据框(count.list和scale.list)中的行名进行匹配,然后从scale.list中选出匹配到的行并返回一个新的列表。具体来说,它使用了lapply函数对count.list中的每个数据框进行循环操作,将其行名与scale.list中的匹配并返回匹配到的行,最终得到一个新的列表。其中na.omit(match())的作用是返回在scale.list中存在的行名,因为match()函数会返回缺失值,而na.omit()函数会去除缺失值。
library(ggplot2) library(gganimate) library(magick) library(animation) # 读入 PNG 图片 imgs <- lapply(1:9, function(i) { img <- image_read(paste0("E:/NorthChinaDustBreakout/z_Figure/FY4/22/", i, ".png")) img }) img_info <- image_info(imgs[1]) ani.width <- img_info$width ani.height <- img_info$height # 合成 GIF 动画 saveGIF({ for (i in 1:length(imgs)) { print(imgs[[i]]) ani.pause(0.1) } }, movie.name = "E:/NorthChinaDustBreakout/z_Figure/FY4/22/output.gif", interval = 0.1, ani.width = ani.width, ani.height = ani.height) 这个代码怎么改
这段代码是用 magick 包将一组 PNG 图片合成为一个 GIF 动画,并将其保存到本地。如果你想改变 GIF 的帧率,你可以修改 `interval` 参数的值。如果你想改变 GIF 的大小,你可以修改 `ani.width` 和 `ani.height` 参数的值。
以下是修改后的代码示例:
```R
library(magick)
# 读入 PNG 图片
imgs <- lapply(1:9, function(i) {
img <- image_read(paste0("E:/NorthChinaDustBreakout/z_Figure/FY4/22/", i, ".png"))
img
})
# 获取原始图片的分辨率
img_info <- image_info(imgs[1])
ani.width <- img_info$width
ani.height <- img_info$height
# 合成 GIF 动画,并保存到本地
saveGIF({
for (i in 1:length(imgs)) {
print(imgs[[i]])
ani.pause(0.1)
}
}, movie.name = "E:/NorthChinaDustBreakout/z_Figure/FY4/22/output.gif", interval = 0.05, ani.width = ani.width, ani.height = ani.height)
```
请将 `interval` 参数的值设置为你所需的帧率。这里将其设置为 0.05 秒。