在r中删除大于和小于字符以及数据帧中的小数位数
我有一个由2个变量组成的数据框架在r中删除大于和小于字符以及数据帧中的小数位数,r,dataframe,R,Dataframe,我有一个由2个变量组成的数据框架 structure(list(X1 = structure(c(17L, 27L, 6L, 1L, 28L, 1L, 1L,4L, 17L, 28L, 28L, 12L, 21L, 28L, 28L, 8L, 28L, 1L, 1L, 10L, 4L, 21L, 30L, 1L, 8L, 28L, 1L, 1L, 1L, 1L, 8L, 1L, 17L, 1L, 1L, 28L, 8L, 23L, 15L, 23L, 25L, 13L, 8L, 4L, 28L,
structure(list(X1 = structure(c(17L, 27L, 6L, 1L, 28L, 1L, 1L,4L, 17L, 28L, 28L, 12L, 21L, 28L, 28L, 8L, 28L, 1L, 1L, 10L, 4L, 21L, 30L, 1L, 8L, 28L, 1L, 1L, 1L, 1L, 8L, 1L, 17L, 1L, 1L, 28L, 8L, 23L, 15L, 23L, 25L, 13L, 8L, 4L, 28L, 10L, 1L, 30L, 13L, 4L, 1L, 1L, 17L, 13L, 13L, 8L, 4L, 4L, 4L, 28L, 28L, 13L,1L, 4L, 28L, 1L, 1L, 1L, 1L, 1L, 12L, 2L, 6L, 1L, 8L, 1L, 21L, 1L, 21L, 1L, 30L,13L, 25L, 17L, 1L, 28L, 13L, 1L, 1L, 1L, 1L,8L, 30L, 25L, 28L, 4L, 1L, 13L, 17L, 4L,1L, 1L, 28L, 1L, 1L, 8L, 1L, 8L, 1L, 13L, 1L, 1L, 1L, 4L, 6L, 1L, 1L, 30L,1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 6L, 6L, 1L, 15L, 21L, 10L, 21L, 1L, 10L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 28L, 28L, 1L, 30L, 15L, 25L, 6L, 17L, 25L, 15L, 8L, 18L, 22L, 14L, 22L, 28L, 30L, 3L, 30L, 14L, 18L, 22L, 24L, 10L, 26L, 26L, 18L, 26L, 30L, 29L, 18L, 14L, 9L, 9L, 16L, 16L, 29L, 18L, 16L, 27L, 24L, 14L, 26L, 5L, 22L, 28L, 22L, 11L, 9L, 26L, 30L, 18L, 28L, 16L, 26L, 7L, 30L, 7L, 28L, 5L, 18L, 9L, 26L, 24L, 27L, 16L, 16L, 14L, 26L, 29L, 5L, 22L, 24L, 26L, 18L, 27L, 9L, 18L, 11L, 14L, 18L, 22L, 29L, 26L, 22L, 26L, 20L, 24L, 14L, 7L, 16L, 24L, 26L, 29L, 24L, 24L, 24L, 20L, 20L, 24L, 11L, 20L, 29L, 16L, 18L, 24L, 24L, 7L, 24L, 18L, 11L, 11L, 24L, 24L, 7L, 11L, 18L, 24L, 24L, 16L, 29L, 7L, 30L, 24L, 22L, 24L, 18L, 26L, 9L, 9L, 24L, 29L, 9L, 24L, 30L, 11L, 24L, 16L, 26L, 26L, 26L, 30L, 26L, 16L, 26L, 24L, 29L, 20L, 24L, 14L, 9L, 7L, 29L, 29L, 15L, 6L, 15L, 2L, 6L, 6L, 3L, 2L, 17L, 30L, 27L, 23L, 2L, 15L, 8L, 13L, 21L, 28L, 23L, 25L, 1L, 25L, 19L, 27L, 23L, 15L, 19L, 19L, 23L, 2L, 27L, 27L, 15L, 2L, 2L, 3L, 23L, 2L, 23L, 6L, 2L, 15L, 13L,1L, 1L, 13L, 28L, 1L, 1L, 28L, 21L, 1L, 28L, 4L, 1L, 17L, 17L, 13L, 21L, 1L, 1L, 1L, 17L, 1L, 1L, 17L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 13L, 1L, 1L, 1L, 1L, 8L,25L, 1L, 28L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 8L, 4L, 1L, 25L, 28L, 13L, 1L, 1L, 28L, 1L, 4L, 1L, 1L, 8L, 1L, 8L, 13L, 4L, 28L, 21L, 28L, 28L, 28L, 28L, 28L, 8L, 1L, 1L, 1L, 1L, 13L, 21L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 28L, 4L, 1L, 17L, 17L, 28L, 1L, 13L, 8L, 17L, 1L, 13L, 13L, 8L, 4L, 1L, 17L, 25L, 1L, 1L, 8L, 8L, 1L, 4L, 17L, 21L),
.Label = c("<8", ">1024", "1024", "11", "11.000000000000007", "128", "128.00000000000009", "16", "16.000000000000007", "181", "181.00000000000006", "22", "23", "23.000000000000011", "256", "256.00000000000017", "32", "32.000000000000014", "362", "362.00000000000017", "45", "45.000000000000014", "512", "512.00000000000045", "64", "64.000000000000028", "724", "8", "8.0000000000000018", "90"),
class = "factor"),
X2 = structure(c(7L, 2L, 2L, 8L, 18L, 4L, 13L, 18L, 8L, 13L, 8L, 18L, 12L, 13L, 18L, 16L, 7L, 5L, 1L, 16L, 18L, 18L, 18L, 12L, 7L, 1L, 4L, 4L, 2L,16L, 12L, 12L, 2L, 2L, 13L, 13L, 18L, 2L, 16L, 2L, 16L, 16L, 2L, 12L, 16L, 2L, 12L,2L, 2L, 16L, 16L, 2L, 2L, 2L, 2L, 2L, 7L, 18L, 18L, 18L, 13L, 18L, 13L, 18L, 9L, 13L, 8L, 4L, 1L, 13L, 8L, 2L, 16L, 12L, 7L, 7L, 18L, 18L, 18L, 12L, 16L, 7L, 16L, 7L, 12L, 12L, 16L, 12L, 13L, 13L, 12L, 16L, 12L, 12L, 7L, 7L, 13L,16L, 7L, 18L, 16L, 13L, 18L, 4L, 12L, 7L, 4L, 18L, 18L, 18L, 9L, 17L, 13L, 7L, 12L, 7L, 18L, 12L, 18L, 13L, 9L, 1L, 18L, 1L, 13L, 13L, 13L, 1L, 1L, 13L, 12L, 4L, 1L,1L, 4L, 12L, 9L, 1L, 1L, 1L, 2L, 12L, 9L, 2L, 18L, 2L, 18L, 7L, 12L, 1L, 9L, 9L, 7L, 18L, 9L, 18L, 1L, 12L, 13L, 12L, 16L, 7L, 12L, 7L, 16L, 2L, 12L,7L, 16L, 12L, 16L, 2L, 12L, 2L, 15L, 7L, 7L, 2L, 7L, 3L, 12L, 16L, 1L, 17L, 2L, 18L, 5L, 7L, 1L, 16L, 7L, 10L, 1L, 12L, 18L, 16L, 16L, 13L, 12L, 7L, 2L, 1L, 9L, 18L, 12L, 13L, 2L, 2L, 12L, 2L, 2L, 2L, 16L, 2L, 1L, 18L, 12L, 7L, 2L, 2L, 12L, 7L, 12L, 4L, 2L, 18L, 13L, 2L, 16L, 7L, 2L, 2L, 12L, 2L, 14L, 12L, 12L, 16L, 1L, 2L, 4L, 2L, 2L, 2L, 17L, 2L, 2L, 2L, 18L, 16L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 12L, 2L, 2L, 1L, 2L, 12L, 18L, 2L, 15L, 16L, 16L, 2L, 2L, 2L, 2L, 11L, 12L, 14L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 16L, 16L, 12L, 2L, 12L, 2L, 2L, 2L, 12L, 2L,16L, 2L, 12L, 14L, 7L, 2L, 4L, 14L, 2L, 16L, 15L, 7L, 16L, 18L, 2L, 16L, 2L, 2L, 12L, 12L, 2L, 2L, 4L, 2L, 2L, 2L, 16L, 2L, 12L,18L, 3L, 16L, 2L, 2L, 13L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 16L, 16L, 2L, 2L, 4L, 4L, 11L, 13L, 4L, 4L, 8L, 4L, 13L, 1L, 4L, 1L, 1L, 2L, 2L, 11L, 18L, 8L, 8L, 4L, 7L, 8L, 4L, 8L, 4L, 4L, 8L, 8L, 1L, 4L, 8L, 4L, 13L, 1L, 6L, 1L, 17L, 2L, 2L, 8L, 18L, 8L, 8L, 4L, 7L, 8L, 17L, 8L, 4L, 1L, 4L, 13L, 1L, 2L, 4L, 16L, 13L, 4L, 4L, 17L, 4L, 7L, 4L, 4L, 1L, 1L, 4L, 1L, 17L, 8L, 1L, 8L, 1L, 4L, 1L, 8L, 8L, 8L, 1L, 13L, 16L, 16L, 17L, 8L, 13L, 1L, 4L, 7L, 1L, 1L, 4L, 4L, 8L, 6L, 4L, 1L, 12L, 13L, 8L, 4L, 4L, 18L, 2L, 4L, 8L, 13L, 17L,13L, 18L, 7L, 16L, 7L, 1L, 13L, 8L, 13L, 4L, 1L, 7L),
.Label = c("<8", ">1024", "1024", "11", "128", "16", "181", "22", "23", "256", "32", "362", "45", "512", "64", "724", "8", "90"), class = "factor")),
.Names = c("X1", "X2"),
row.names = c(NA, -471L),
class = "data.frame")
结构(列表(X1=结构(c(17L、28L、28L、12L、28L、28L、28L、28L、12L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、25L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、4L、28L、1L、1L、1L、1L、12L、2L、6L、1L、8L、1L、21L、1L、21L1L、1L、4L、1L、11L、111L、11L、111L、611L、61L、61L、8L、111L、8L、8L、8L、8L、8L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、11L、1L、1L,15L,21L,10L,21L,1L,10L,1L,1L,1L,1L,1L,1L,1L,28L,28L,1L,30L,15L,25L、28L、30L、24L、25L、28L、25L、28L、25L、25L、25L、28L、30L、3L、3L、3L、30L、30L、25L、18L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、28L、25L、28L、28L、28L、28L、28L、22、22、22、22、22、22、22、10、22、22、22、22、10、10、1、11 L,29L,5L,22L,24L,26L,18L,27L,9L,18五十、 1、241、7、241、7、24、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、11、11、11、11、11、11、7、7、11、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7、7 L,26L,16L,26L,24L,29L,20L,24L9升、7升、7升、7升、9升、7升、7升、7升、7升、7升、6升、6升、6升、3升、2升、2升、7升、17升、17升、7升、7升、7升、7升、7升、7升、7升、7升、7升、7升、6升、2升、2升、7升、17升、17升、17升、17升、17升、17升、17升、17升、20升、20升、20升、20升、2升、2升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3升、3 21L,1L,1L,1L,17L,1L,1L,17L,1L,1L,1L,1L,1L,1L,1L,1L、1L、1L、1L、11L、1L、11L、1L、11L、11L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、13L、13L、13L、13L、13L、13L、1L、8L、1L、8L、8L、1L、1L、8L、1L、1L、1L、1L、1L、8L、1L、1L、1L、1L、1L、8L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、1L、升,4L,1L,17L,17L,28L,1L,13L,8L,17L,1L,13L,13L,8L,4L,1L,17L,25L,1L,1L,8L,8L,1L,4L,17L,21L),
.Label=c(“1024”、“1024”、“11”、“11.00000000000000 7”、“128”、“128.00000000000000 9”、“16”、“16.00000000000000 7”、“181”、“181.00000000000000 6”、“22”、“23”、“23.00000000000000 11”、“256”、“256.00000000000000 17”、“32”、“32.00000000000000 14”、“362”、“362000000 17”、“45”、“45.00000000000000 14”、“512”、“512.00000000000000 45”、“64”、“64.00000000000000 28”,"724", "8", "8.0000000000000018", "90"),
class=“factor”),
X2=结构(c)(7L、2L、2L、2L、2L、2L、2L、2L、13L、8L、8L、8L、18L、13L、13L、13L、13L、13L、13L、13L、13L、13L、13L、13L、18L、16L、13L、13L、13L、18L、13L、18L、18L、13L、18L、13L、2L、2L、2L、2L、2L、2L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、16L、18L、9L、13L、8L、4L、1L、13L、8L、2L、16L、12L、7L、7L、18L、18五十、 12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,7 L,7 L,13 L,13 L,12 L,12 L,12 L,7 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,12 L,7,7 L,7 L,7 L,7 L,7 L,7 L,7,7,7 L,7,7,7 L,7 L,7 L,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7升,9L,2L,18L,2L,18L,7L,12L,1L,9L,9L,7L,18L,9五十、 18升、1升、7升、7升、10升、10升、10升、10升、1升、10升、10升、10升、1升、12升、12升、12升、12升、16升、16升、16升、16升、16升、16升、16升、16升、16升、10升、10升、10升、10升、1升、1升、12升、12升、12升、12升、18升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升、16升,2L,12L,7L,12L,4L,2L,18L,13L,2L,16L,7L,2L,2L,2L,2L,12五十、 12升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、1升、1升、1升、1升、1升、1升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、1升、1升、1升、1升、1升、12升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、12升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升、1升,2L,12L,14L,7L,2L,4L,14L,2L,16L,15L,7L,16L,18L,2L,16L,2五十、 12升、12升、12升、12升、12升、12升、12升、12升、12升、12升、18升、18升、3升、3升、3升、16升、16升、1升、1升、2升、2升、2升、2升、12升、12升、12升、12升、12升、2升、2升、2升、2升、2升、2升、2升、2升、16升、16升、16升、16升、16升、16升、16升、1升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、2升、4升、4升、4升、4升、4升、4升、4升、4升、1升、1升,4L,8L,8L,1L,4L,8L,4L,13L,1L,6L,1L,17L,2L,2L,8L,18L,8L,8L,4L1、1、8、1、1、13、8、1、8、1、8、8、8、8、8、8、8、8、1、13、16、1、16、1、16、16、1、16、1、1、4、4、4、1、1、1、16、16、16、16、16、16、16、16、16、16、16、16、16、17、17、1、1、1、8、8、8、8、8、8、8、8、8、8、8、1、1、1、13、1、1、1、1、16、16、16、1、1、16、1、16、1、16、16、1、16、16、16、16、16、16、16、16、16、16、16、16、16、16、1、1、16、1、1、16、16、1、1、1、1、1、1、1、1、1、1、1、1、16、16、16 13L、18L、7L、16L、7L、1L、13L、8L、13L、4L、1L、7L),
.Label=c(“1024”、“1024”、“11”、“128”、“16”、“181”、“22”、“23”、“256”、“32”、“362”、“45”、“512”、“64”、“724”、“8”、“90”),class=“factor”),
.Names=c(“X1”、“X2”),
row.NAME=c(NA,-471L),
class=“data.frame”)
我有两个问题
1) 每个都有一些大于值和一些小于值。我想删除
和
您可以使用dplyr::mutate\u all
和stringr::str\u replace\u all
小数由as.numeric
直接近似,因为它是~10^(-13)
量级
您的_df X1 X2
#> 1 32 181
#> 2 724 1024
#> 3 128 1024
#> 4 8 22
#> 5 8 90
#> 6 8 11
#> 7 8 45
#> 8 11 90
#> 9 32 22
#> 10 8 45
#> 11 8 22
#> 12 22 90
#> 13 45 362
您可以使用base R执行此操作:
my_df <- as.data.frame(sapply(my_df, gsub, pattern = "<|>", replacement = ""))
my_df <- as.data.frame(sapply(my_df, as.numeric))
my_df
# X1 X2
# 1 8 23
# 2 8 90
# 3 8 8
# 4 8 362
# 5 8 45
# 6 90 362
# 7 256 724
# 8 64 181
# 9 128 362
# 10 32 181
# 11 64 724
# 12 256 1024
# 13 16 362
# 14 32.000000000000014 181
# 15 45.000000000000014 724
# 16 23.000000000000011 362
# 17 45.000000000000014 724
# 18 8 1024
# 19 90 362
# 20 1024 1024
# 21 90 64
# 22 23.000000000000011 181
# 23 32.000000000000014 181
# 24 45.000000000000014 1024
# 25 512.00000000000045 181
在这里,我们想要的模式被提取出来,然后在舍入小数后再次合并
<
sapply(my_df,
function(x) paste0(gsub(x, pattern = "\\d|\\.", replacement = ""),
round(as.numeric(gsub(x, pattern = "<|>", replacement = "")))))
# X1 X2
# [1,] "<8" "23"
# [2,] "<8" "90"
# [3,] "8" "<8"
# [4,] "8" "362"
# [5,] "<8" "45"
# [6,] "90" "362"
# [7,] "256" "724"
# [8,] "64" "181"
# [9,] "128" "362"
# [10,] "32" "181"
# [11,] "64" "724"
# [12,] "256" ">1024"
# [13,] "16" "362"
# [14,] "32" "181"
# [15,] "45" "724"
# [16,] "23" "362"
# [17,] "45" "724"
# [18,] "8" ">1024"
# [19,] "90" "362"
# [20,] "1024" ">1024"
# [21,] "90" "64"
# [22,] "23" "181"
# [23,] "32" "181"
# [24,] "45" ">1024"
# [25,] "512" "181"
library(stringr)
sapply(my_df,
function(x) str_c(str_extract(x, "[<>]?"),
round(as.numeric(str_extract(x, "\\d+")))))
my_df <-
structure(list(X1 = structure(c(1L, 1L, 28L, 28L, 1L, 30L, 15L,
25L, 6L, 17L, 25L, 15L, 8L, 18L,
22L, 14L, 22L, 28L, 30L, 3L, 30L,
14L, 18L, 22L, 24L),
.Label = c("<8", ">1024", "1024", "11",
"11.000000000000007", "128",
"128.00000000000009", "16",
"16.000000000000007", "181",
"181.00000000000006", "22",
"23", "23.000000000000011",
"256", "256.00000000000017",
"32", "32.000000000000014",
"362", "362.00000000000017",
"45", "45.000000000000014",
"512", "512.00000000000045",
"64", "64.000000000000028",
"724", "8",
"8.0000000000000018", "90"),
class = "factor"),
X2 = structure(c(9L, 18L, 1L, 12L, 13L, 12L, 16L, 7L,
12L, 7L, 16L, 2L, 12L, 7L, 16L, 12L,
16L, 2L, 12L, 2L, 15L, 7L, 7L, 2L, 7L),
.Label = c("<8", ">1024", "1024", "11",
"128", "16", "181", "22", "23",
"256", "32", "362", "45", "512",
"64", "724", "8", "90"),
class = "factor")),
.Names = c("X1", "X2"),
row.names = c(NA, -25L),
class = "data.frame")
# X1 X2
# 1 <8 23
# 2 <8 90
# 3 8 <8
# 4 8 362
# 5 <8 45
# 6 90 362
# 7 256 724
# 8 64 181
# 9 128 362
# 10 32 181
# 11 64 724
# 12 256 >1024
# 13 16 362
# 14 32.000000000000014 181
# 15 45.000000000000014 724
# 16 23.000000000000011 362
# 17 45.000000000000014 724
# 18 8 >1024
# 19 90 362
# 20 1024 >1024
# 21 90 64
# 22 23.000000000000011 181
# 23 32.000000000000014 181
# 24 45.000000000000014 >1024
# 25 512.00000000000045 181