R 将逗号分隔字符串读取为数字并创建数据帧
我一直在尝试对一组值应用一种方法。我想要以下几行:R 将逗号分隔字符串读取为数字并创建数据帧,r,R,我一直在尝试对一组值应用一种方法。我想要以下几行: library(MADAM) fisher.method(data.frame(0.0001879,2.2e-16)) ## S num.p p.value p.adj ## 1 89.26501 2 0 0 但是,要使用的值位于我一次读取一行的文件中。如果我按照建议使用strsplit,我会得到: oneLine 如果您有一个向量 Lines <- c("0.0001879, 2.
library(MADAM)
fisher.method(data.frame(0.0001879,2.2e-16))
## S num.p p.value p.adj
## 1 89.26501 2 0 0
但是,要使用的值位于我一次读取一行的文件中。如果我按照建议使用strsplit,我会得到:
oneLine
如果您有一个向量
Lines <- c("0.0001879, 2.2e-16", "0.001435, 1.2e-14", "0.00014353, 2.5e-13")
do.call(rbind,lapply(strsplit(Lines, ","),
function(x) fisher.method(as.data.frame.list(as.numeric(x)))))
# S num.p p.value p.adj
# 1 89.26501 2 0.000000e+00 0.000000e+00
#11 77.20092 2 6.661338e-16 6.661338e-16
#12 75.73256 2 1.443290e-15 1.443290e-15
然后,您可以使用read.csv
读取文件,并直接在两列data.frame
上应用fisher.method
dat <- read.csv("file1.csv", header=FALSE)
fisher.method(dat)
# S num.p p.value p.adj
#1 89.26501 2 0.000000e+00 0.000000e+00
#2 77.20092 2 6.661338e-16 9.992007e-16
#3 75.73256 2 1.443290e-15 1.443290e-15
dat
Lines <- c("0.0001879, 2.2e-16", "0.001435, 1.2e-14", "0.00014353, 2.5e-13")
do.call(rbind,lapply(strsplit(Lines, ","),
function(x) fisher.method(as.data.frame.list(as.numeric(x)))))
# S num.p p.value p.adj
# 1 89.26501 2 0.000000e+00 0.000000e+00
#11 77.20092 2 6.661338e-16 6.661338e-16
#12 75.73256 2 1.443290e-15 1.443290e-15
0.0001879, 2.2e-16
0.001435, 1.2e-14
0.00014353, 2.5e-13
dat <- read.csv("file1.csv", header=FALSE)
fisher.method(dat)
# S num.p p.value p.adj
#1 89.26501 2 0.000000e+00 0.000000e+00
#2 77.20092 2 6.661338e-16 9.992007e-16
#3 75.73256 2 1.443290e-15 1.443290e-15