Regex 从数据中删除重复项
我已经加载了20个csv文件,功能如下: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
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的建议。效果很好。第二部分呢?删除其他“重复项”。工作正常。第二部分呢?删除其他“重复项”。工作正常。第二部分呢?删除其他“重复项”。工作正常。第二部分呢?删除其他“重复项”。