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