Regex 从数据中删除重复项

Regex 从数据中删除重复项,regex,r,duplicates,Regex,R,Duplicates,我已经加载了20个csv文件,功能如下: tbl = list.files(pattern="*.csv") list_of_data = lapply(tbl, read.csv) 我将所有这些文件合并为一个: all_data = do.call(rbind.fill, list_of_data) 新表中有一列称为“加入”。合并后,许多名称(加入)被重复。我想删除所有的副本。 另一个问题是有些“名字”几乎是一样的。区别在于有名字和后面变成点和数字 让我给你看看它的样子: AT3G2645

我已经加载了20个csv文件,功能如下:

tbl = list.files(pattern="*.csv")
list_of_data = lapply(tbl, read.csv)
我将所有这些文件合并为一个:

all_data = do.call(rbind.fill, list_of_data)
新表中有一列称为“加入”。合并后,许多名称(加入)被重复。我想删除所有的副本。 另一个问题是有些“名字”几乎是一样的。区别在于有名字和后面变成点和数字

让我给你看看它的样子:

AT3G26450.1 <--
AT5G44520.2
AT4G24770.1
AT2G37220.2
AT3G02520.1
AT5G05270.1
AT1G32060.1
AT3G52380.1
AT2G43910.2
AT2G19760.1
AT3G26450.2 <--
AT3G26450.1

df  <- data.frame( Accession = c("AT3G26450.1",
                   "AT5G44520.2",
                   "AT4G24770.1",
                   "AT2G37220.2",
                   "AT3G02520.1",
                   "AT5G05270.1",
                   "AT1G32060.1",
                   "AT3G52380.1",
                   "AT2G43910.2",
                   "AT2G19760.1",
                   "AT3G26450.2"))

df[!duplicated(unlist(lapply(strsplit(as.character(df$Accession), 
   ".", fixed = T),  "[", 1))), ]
df

df  <- data.frame( Accession = c("AT3G26450.1",
                   "AT5G44520.2",
                   "AT4G24770.1",
                   "AT2G37220.2",
                   "AT3G02520.1",
                   "AT5G05270.1",
                   "AT1G32060.1",
                   "AT3G52380.1",
                   "AT2G43910.2",
                   "AT2G19760.1",
                   "AT3G26450.2"))

df[!duplicated(unlist(lapply(strsplit(as.character(df$Accession), 
   ".", fixed = T),  "[", 1))), ]
df

df  <- data.frame( Accession = c("AT3G26450.1",
                   "AT5G44520.2",
                   "AT4G24770.1",
                   "AT2G37220.2",
                   "AT3G02520.1",
                   "AT5G05270.1",
                   "AT1G32060.1",
                   "AT3G52380.1",
                   "AT2G43910.2",
                   "AT2G19760.1",
                   "AT3G26450.2"))

df[!duplicated(unlist(lapply(strsplit(as.character(df$Accession), 
   ".", fixed = T),  "[", 1))), ]
df

df  <- data.frame( Accession = c("AT3G26450.1",
                   "AT5G44520.2",
                   "AT4G24770.1",
                   "AT2G37220.2",
                   "AT3G02520.1",
                   "AT5G05270.1",
                   "AT1G32060.1",
                   "AT3G52380.1",
                   "AT2G43910.2",
                   "AT2G19760.1",
                   "AT3G26450.2"))

df[!duplicated(unlist(lapply(strsplit(as.character(df$Accession), 
   ".", fixed = T),  "[", 1))), ]

df您可以使用此命令对值进行子集和重命名:

subset(transform(alldata, Ascension = sub("\\..*", "", Ascension)), 
       !duplicated(Ascension))

   Ascension
1  AT3G26450
2  AT5G44520
3  AT4G24770
4  AT2G37220
5  AT3G02520
6  AT5G05270
7  AT1G32060
8  AT3G52380
9  AT2G43910
10 AT2G19760

可以使用此命令来子集和重命名值:

subset(transform(alldata, Ascension = sub("\\..*", "", Ascension)), 
       !duplicated(Ascension))

   Ascension
1  AT3G26450
2  AT5G44520
3  AT4G24770
4  AT2G37220
5  AT3G02520
6  AT5G05270
7  AT1G32060
8  AT3G52380
9  AT2G43910
10 AT2G19760

可以使用此命令来子集和重命名值:

subset(transform(alldata, Ascension = sub("\\..*", "", Ascension)), 
       !duplicated(Ascension))

   Ascension
1  AT3G26450
2  AT5G44520
3  AT4G24770
4  AT2G37220
5  AT3G02520
6  AT5G05270
7  AT1G32060
8  AT3G52380
9  AT2G43910
10 AT2G19760

可以使用此命令来子集和重命名值:

subset(transform(alldata, Ascension = sub("\\..*", "", Ascension)), 
       !duplicated(Ascension))

   Ascension
1  AT3G26450
2  AT5G44520
3  AT4G24770
4  AT2G37220
5  AT3G02520
6  AT5G05270
7  AT1G32060
8  AT3G52380
9  AT2G43910
10 AT2G19760


是否要删除重复行或仅通过删除“.X”对其进行重命名。我要删除具有重复行的行(登入),并删除在点之前具有相同编号的登入。是否要删除重复行或仅通过删除“.X”对其进行重命名。我要删除具有重复行的行(登入)和删除点之前具有相同编号的登录。是否要删除重复行,或仅通过删除“.X”对其重命名。我要删除具有重复行的行(登录),并删除点之前具有相同编号的登录。是否要删除重复行,或仅通过删除“.X”对其重命名。我想删除重复的行(Accession)并删除点号之前具有相同编号的Accession。您可以在
'上拆分。
并设置
fixed=TRUE
,以稍微加快此操作。strsplit中的错误(所有数据,“[.]”):非字符参数。忘了提到还有一些其他名称而不是“AT3G52380.1”。加入变量是数据帧中的因子,strsplit需要一个字符参数。我已经更新了我的答案,以考虑到因子变量和RoyalTS的建议。您可以在
'上拆分。
并设置
fixed=TRUE
,以稍微加快此操作。strsplit中的错误(所有数据,“[.]”):非字符参数。忘了提到还有一些其他名称而不是“AT3G52380.1”。加入变量是数据帧中的因子,strsplit需要一个字符参数。我已经更新了我的答案,以考虑到因子变量和RoyalTS的建议。您可以在
'上拆分。
并设置
fixed=TRUE
,以稍微加快此操作。strsplit中的错误(所有数据,“[.]”):非字符参数。忘了提到还有一些其他名称而不是“AT3G52380.1”。加入变量是数据帧中的因子,strsplit需要一个字符参数。我已经更新了我的答案,以考虑到因子变量和RoyalTS的建议。您可以在
'上拆分。
并设置
fixed=TRUE
,以稍微加快此操作。strsplit中的错误(所有数据,“[.]”):非字符参数。忘了提到还有一些其他名称而不是“AT3G52380.1”。加入变量是数据帧中的因子,strsplit需要一个字符参数。我已经更新了我的答案,考虑到了因素变量和RoyalTS的建议。效果很好。第二部分呢?删除其他“重复项”。工作正常。第二部分呢?删除其他“重复项”。工作正常。第二部分呢?删除其他“重复项”。工作正常。第二部分呢?删除其他“重复项”。