r 中的 colsplit:将一列分成两列

colsplit in r: separate one column into two

我将一个 csv 文件 ("sumCounts") 加载到 r 中,其中包含一个名为 "transcript" 的列。此列中的一行示例如下所示:

TR43890|c0_g1_i1

我想沿着管道“|”将此列拆分为两列,分别称为 "transcript" 和 "isoform"字符.

sumCounts <- colsplit(transcript, "|", c("transcript", "isoform"))

我不断收到以下错误:str_split_fixed(string, pattern, n = length(names)) 中的错误:未找到对象 'transcript'

您的问题没有包含足够的信息来判断这是否可行,但我假设您的数据已读入名为 sumCounts 的数据对象,其中包含一个名为 transcript 的列,您希望将其分成两部分。如果是这样,那么 Hadley Wickham 的 tidyr 包将做你想做的事:

install.packages("tidyr")
require(tidyr)

#sumCounts <- read.csv("sumCounts.csv")

## Toy example:
sumCounts <- data.frame(
  "transcript"=c(
    "TR43890|c0_g1_i1", 
    "TR43890|c0_g1_i1", 
    "TR43890|c0_g1_i1"
  )
)

##  Note that the sep= argument requires a regular expression, for which
##    the pipe argument is a special character and must be escaped:
separate(sumCounts, transcript, c("transcript", "isoform"), sep="\|")