gpt4 book ai didi

R函数按字符串长度然后按字母对列进行排序?

转载 作者:行者123 更新时间:2023-12-04 12:19:05 49 4
gpt4 key购买 nike

我想先按字符串长度然后按字母对数据框中的一列进行排序,我尝试了以下代码:

#sort column by string length then alphabet
GSN[order(nchar(GSN[,3]),GSN[,3]),]

但我有错误
Error in nchar(GSN[, 3]) : 'nchar()' requires a character vector

我的数据看起来像:
    Flowcell Lane    barcode         sample         plate row column
314 NA NA AACAGACATT LD06_7620SDS GSN1_Hind384D B 4
307 NA NA AACAGCACT LG10_2688SDS GSN1_Hind384D C 3
289 NA NA AACCTC U09_105007SDS GSN1_Hind384D A 1
232 NA NA AACGACCACC 13_232 GSN1_Hind384C H 5
10 NA NA AACGCACATT 13_10 GSN1_Hind384A B 2
165 NA NA AACGG 13_165 GSN1_Hind384B E 9

我想对“条形码”列进行排序。
谢谢你的时间。

最佳答案

您可以向数据框中添加另一列,其中包含条码中的字符数,然后以通常的方式进行排序。

GSN <- transform(GSN, n=nchar(as.character(barcode)))

GSN[with(GSN, order(n, barcode)), ]

您遇到的问题似乎是因为 R 认为 barcode是一个因子而不是一个字符向量,所以 nchar()是无效的。通过 as.character() 将其转换为字符解决这个问题。

关于R函数按字符串长度然后按字母对列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28838696/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com