r - 使用R指定row.name来打开CSV文件时出错

标签 r dataframe matrix error-handling

我有一个大df(CSV格式),看起来像:

miRNAs <- c('mmu_mir-1-3p','mmu_mir-1-5p','mmu-mir-6-5p','mmu-mir-6-3p')
cca <- c('12854','5489','54485','2563')
ccb <- c('124','589','5465','25893')
taa <- c('12854','589','5645','763')
df <- data.frame(miRNAs,cca,ccb,taa)

我想在DESeq2分析中使用此df。我通过使用unique(df)使此df唯一,并尝试使用countData <- as.matrix(read.csv(file="df.csv", row.name="miRNAs", sep = ","))打开,但它给出了此错误

Error in read.table(file = file, header = header, sep = sep, quote = quote, : duplicate 'row.names' are not allowed



自从我制作了df unique以来,我不知道为什么这个错误不断 pop 。基本上,我想以这种方式读取df的原因是,当我键入(except the first column)时,我想获取列标题colnames(df)的列表。因为我需要执行FALSE TRUE测试,以查看是否匹配,这些匹配是否与另一个名为phenotype.csv all(rownames(phenotype) == colnames(countData))的文件的行名匹配

最佳答案

row.name="miRNAs"参数中,您不是在访问相应的列,而是在使用长度为一个的字符 vector 。然后将其回收,这就是您得到错误的原因。导入时不使用row.names参数,并且如果您确实希望将该变量用作行名而不是​​列,请在导入后执行此操作:

df <- data.frame(
  miRNAs = c('mmu_mir-1-3p','mmu_mir-1-5p','mmu-mir-6-5p','mmu-mir-6-3p'),
  cca = c('12854','5489','54485','2563'),
  ccb = c('124','589','5465','25893'),
  taa = c('12854','589','5645','763')
  )

rownames(df) <- df$miRNAs
df$miRNAs <- NULL
df
#>                cca   ccb   taa
#> mmu_mir-1-3p 12854   124 12854
#> mmu_mir-1-5p  5489   589   589
#> mmu-mir-6-5p 54485  5465  5645
#> mmu-mir-6-3p  2563 25893   763

reprex package(v0.3.0)创建于2020-02-19

关于r - 使用R指定row.name来打开CSV文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60299878/

相关文章:

r - 获取组内的重复值

r - R中最长的公共(public)子字符串查找两个字符串之间的非连续匹配

python - 如何从偶数行值中减去奇数行值?

java - 如何使用 JAMA(Java 矩阵包)计算矩阵的伪逆?

c - 仅使用一个矩阵在 C 中通过部分主元实现 LU 分解

r - 从波中获取所有谐波

r - 将值分发给任意数量的接收者

r - 将列表转换为 R 中的数据框并添加带有子列表名称的列

python - 如何使用 pandas 中的这个 "|"符号转换数据以用于推荐系统

python - 从两个 Numpy 数组高效生成柯西矩阵