为什么cSplit返回TRUE而不是字符

CodeNoob

我有这个(简化的)数据集:

x <- read.table(text  = '  id                                                 seq
1  1 AACCAAGCCCTTGCTCAAATCGAAAAAAAGTTGAGCAAACCGAGTTTTGAG
2  2 AAGTTGAGCAAACCGAGTTTTGAGACTTGGATGAAGTCAACCAAAGCCCAC')

因此,它看起来像这样:

  id                                                 seq
1  1 AACCAAGCCCTTGCTCAAATCGAAAAAAAGTTGAGCAAACCGAGTTTTGAG
2  2 AAGTTGAGCAAACCGAGTTTTGAGACTTGGATGAAGTCAACCAAAGCCCAC

然后,我将其置于cSplit位置cSplit(x, 'seq', direction = 'wide', stripWhite = FALSE, sep = '')它返回TRUE位置20和32,而不是字符本身:

   id seq_01 seq_02 seq_03 seq_04 seq_05 seq_06 seq_07 seq_08 seq_09 seq_10 seq_11 seq_12 seq_13 seq_14 seq_15 seq_16 seq_17 seq_18
1:  1      A      A      C      C      A      A      G      C      C      C      T      T      G      C      T      C      A      A
2:  2      A      A      G      T      T      G      A      G      C      A      A      A      C      C      G      A      G      T
   seq_19 seq_20 seq_21 seq_22 seq_23 seq_24 seq_25 seq_26 seq_27 seq_28 seq_29 seq_30 seq_31 seq_32 seq_33 seq_34 seq_35 seq_36
1:      A   TRUE      C      G      A      A      A      A      A      A      A      G      T   TRUE      G      A      G      C
2:      T   TRUE      T      G      A      G      A      C      T      T      G      G      A   TRUE      G      A      A      G
   seq_37 seq_38 seq_39 seq_40 seq_41 seq_42 seq_43 seq_44 seq_45 seq_46 seq_47 seq_48 seq_49 seq_50 seq_51
1:      A      A      A      C      C      G      A      G      T      T      T      T      G      A      G
2:      T      C      A      A      C      C      A      A      A      G      C      C      C      A      C

(如果我不是改direction = 'wide'direction = 'long'使用和传播比它自己tidyr::spread,它看起来罚款)

阿克伦

问题是type.convert这是TRUE默认。因此,如果仅存在T或存在F于列中,它将以asTRUE/FALSE代替字符串“ T”或“ F”并将其转换为logicaltype

library(splitstackshape)
cSplit(x, 'seq', direction = 'wide', stripWhite = FALSE,
     sep = '', type.convert = FALSE)
# id seq_01 seq_02 seq_03 seq_04 seq_05 seq_06 seq_07 seq_08 seq_09 seq_10 seq_11 seq_12 seq_13 seq_14 seq_15
#1:  1      A      A      C      C      A      A      G      C      C      C      T      T      G      C      T
#2:  2      A      A      G      T      T      G      A      G      C      A      A      A      C      C      G
#   seq_16 seq_17 seq_18 seq_19 seq_20 seq_21 seq_22 seq_23 seq_24 seq_25 seq_26 seq_27 seq_28 seq_29 seq_30
#1:      C      A      A      A      T      C      G      A      A      A      A      A      A      A      G
#2:      A      G      T      T      T      T      G      A      G      A      C      T      T      G      G
#   seq_31 seq_32 seq_33 seq_34 seq_35 seq_36 seq_37 seq_38 seq_39 seq_40 seq_41 seq_42 seq_43 seq_44 seq_45
#1:      T      T      G      A      G      C      A      A      A      C      C      G      A      G      T
#2:      A      T      G      A      A      G      T      C      A      A      C      C      A      A      A
#   seq_46 seq_47 seq_48 seq_49 seq_50 seq_51
#1:      T      T      T      G      A      G
#2:      G      C      C      C      A      C

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么在Python中`(True,True,True)== True,True,True`不是True?

为什么当[[]是[]]而'{}是{}'返回False时,'()是()'返回True?

java中的字符串“ ==”检查引用,为什么此代码返回true?

为什么检查字符串是否为空的函数总是返回true?

为什么GetAttribute(“ disabled”)返回“ true”而不是“ disabled”?

为什么'$ true -eq“ string”'返回$ true?

为什么在寻找空字符串时in_array函数返回TRUE?

为什么lodash`_.all([true,true,true],true);`返回`false`?

为什么dynamic.ToString()返回字符串之间而不是字符串之间的内容?

为什么“ 0 && true”在JavaScript中返回0而不是布尔值?

为什么strpos是!== false而不是true?

C分割字符串函数在字符串末尾返回\ 377而不是\ 0。为什么?

为什么if语句返回True?

为什么字符指针“ ==“返回true?

评估返回-1是否为TRUE?(为什么不是1)

为什么python中的isallnum()对于包含数字“ 123”的字符串返回“ True”

为什么此定义返回False而不是True?

为什么is_infinite()对于字符串“ 592e5399”返回TRUE?

为什么返回None而不是True或False?

对文件进行grep时,grep返回true而不是行,为什么?

为什么String.Concat返回“ True”而不是“ true”(与false相同)?

当字符串不相等时,为什么-[NSString compare:options:]返回true?

为什么此函数返回''而不是串联字符串

为什么if语句返回`true`?

我为什么要写!== false而不是== true?

为什么此代码返回false而不是true?

MongoDB/Express:为什么 Array.includes 返回 false 而不是 true?

为什么我的 for 循环返回字符而不是字符串

为什么字符串输入值 "male" != "male" 在 python 中使用 .lower 时返回 true?