r - 如何计算R中逗号分隔的数字字符串的平均值
问题描述
我有以下文件:
文件 1
structure(list(Total_Gene_Symbol = c("5S_rRNA", "7SK", "A1BG-AS1"
), Test = c("1.02, 1.12, 1.11, 1.18, 1.12, 1.19, 1.25, 1.24, 1.24, 1.02",
"1.97, 2.27, 2.14, 1.15", "1.3, 1.01, 1.36, 1.42, 1.38, 1.01, 1.31, 1.34,
1.29, 1.34, 2.02, 1.12, 1.01, 1.31, 1.22"
)), .Names = c("Total_Gene_Symbol", "Test"), row.names = c(NA,
3L), class = "data.frame")
文件 1 列测试是由“,”分隔的数字。
我试过了
mat <- stri_split_fixed(Down_FC, ',', simplify=T)
mat <- `dim<-`(as.numeric(mat), dim(mat)) # convert to numeric and save dims
rowMeans(mat, na.rm=T)->M
View(M)
但上面的代码是平均整个数据。
我想要像下面的文件 2 文件 2 一样的输出
structure(list(Total_Gene_Symbol = c("5S_rRNA", "7SK", "A1BG-AS1"
), Test = c("1.02, 1.12, 1.11, 1.18, 1.12, 1.19, 1.25, 1.24, 1.24, 1.02",
"1.97, 2.27, 2.14, 1.15", "1.3, 1.01, 1.36, 1.42, 1.38, 1.01, 1.31, 1.34,
1.29, 1.34, 2.02, 1.12, 1.01, 1.31, 1.22"
), Average = c(11.49, 7.53, 19.44)), .Names = c("Total_Gene_Symbol",
"Test", "Average"), row.names = c(NA, 3L), class = "data.frame")
解决方案
使用apply
d1$sum <- apply(d1,1,
function(x)(sum(as.numeric(unlist(strsplit(x['Test'],','))),na.rm = TRUE)))
推荐阅读
- sql-server-2012 - 获取字符串中的特定元素
- java - 如何使用 Spring Boot 保存在 .txt 文件中?
- r - 需要帮助取消分组数据框
- angular - 从类型脚本中的对象中删除元素
- javascript - 在componentDidMount()中接收到数据后调用函数和get方法
- javascript - 如何将两个数组相乘并动态绘制到 HighCharts 中?
- c# - 有选择地从源代码中去除 Html 元素的标签
- python-3.x - 在后台运行异步数据库读取任务
- javascript - onclick 事件无限触发
- javafx - JavaFX:如何管理阶段的 z-index