8
Consider the objects:
vectorA<-1:10
vectorU<-1:10
vector<-1:10
vector1<-1:10
vector86<-1:10
How to remove objects containing numbers?
How to remove objects containing uppercase letters?
My goal is to do this at once, in such a way that there is onlyvector
. I don’t want to have to type, for example:
rm(vector1,vector86...)
I want to wear something like: [0-9]
and [A-Z]
within the function rm
.
In addition, how would the function for a list
? Follows dput
of the same to assist the answer:
mylist=structure(list(dataset1 = structure(list(var1 =
c(52.8239523619413,
67.412983905524, 85.6350479647517, 69.0797958150506, 23.8283388130367,
95.553572345525, 29.0164476074278, 71.0307511687279, 40.3978266194463
), var2 = c(29.2814019694924, 61.8766243383288, 27.239320538938,
27.597702536732, 61.7392177134752, 79.012787565589, 57.9802662879229,
80.5304721556604, 64.3874954432249), var3 = c(28.0727723427117,
60.635687764734, 28.839645255357, 21.5680585056543, 41.4972599223256,
78.5253136977553, 71.1393622308969, 43.5780669748783, 50.4048792645335
), var4 = c(63.3389138430357, 39.6925644949079, 64.7707579657435,
49.8857426457107, 24.3227748572826, 20.8205243013799,
34.4325823150575,
24.2039945721626, 28.1429144367576), var5 = c(68.8740702904761,
55.5163130350411, 24.4956089183688, 35.9698024578393, 41.842991374433,
93.4637849777937, 78.2090006582439, 63.6315332911909, 35.8201904967427
), var6 = c(49.4833218678832, 79.0594268217683, 84.8702448047698,
89.154454190284, 45.2969283424318, 95.3247463144362, 58.4594663605094,
97.3974690772593, 81.7770860157907), kmeans = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L), .Label = c("1", "2", "3"), class =
"factor")), .Names = c("var1",
"var2", "var3", "var4", "var5", "var6", "kmeans"), row.names = c(1L,
3L, 8L, 10L, 15L, 16L, 17L, 24L, 25L), class = "data.frame"),
mydata = structure(list(var1 = c(68.8994040898979, 86.4890068769455,
41.4491515234113, 48.7125792913139, 67.0896042510867,
89.0794235467911,
41.5327339619398, 78.3874392323196, 47.4415177851915, 83.976521063596,
23.752948474139, 20.1965479925275, 65.0721608288586, 88.8870289362967,
74.9182807281613, 84.6756487898529, 99.3809685111046,
80.1436454802752,
97.8404737263918), var2 = c(32.7941456995904, 64.6668173931539,
34.7624584287405, 77.6456462778151, 73.1857040151954,
28.4563537873328,
86.6737443953753, 92.1690583974123, 96.1259284429252,
95.3986377082765,
54.7287909500301, 61.9130505435169, 92.1239553764462,
97.6163926720619,
91.1119207553566, 59.7223405726254, 56.271854378283, 63.5032017342746,
97.2438823990524), var3 = c(96.9139205291867, 32.3409661464393,
94.5406094565988, 52.3079419881105, 92.548458352685, 82.7145664207637,
83.1966380216181, 53.0209177173674, 56.4625365659595,
83.9760917425156,
92.0599205233157, 55.0897601060569, 40.1735444366932,
29.7791076265275,
88.4056675434113, 71.2447142973542, 46.5862010978162,
44.6803763508797,
81.6879714652896), var4 = c(70.233196914196, 50.9632669016719,
68.2954710535705, 77.7710892260075, 98.3270382508636, 59.908417519182,
92.4725500866771, 31.0966997593641, 78.1473434716463,
68.3402911759913,
62.4164910800755, 83.3351655490696, 59.4744057022035,
75.3354255855083,
82.4973624758422, 69.706082995981, 86.8536845035851, 78.9299669303,
49.516792036593), var5 = c(68.4397785365582, 86.5204527787864,
24.5654080621898, 89.3807902187109, 64.756205175072, 85.9483086690307,
25.5898364260793, 78.8896332494915, 87.7399998344481,
22.7459753118455,
42.6951446570456, 49.3495168350637, 41.639910582453, 98.5095219127834,
43.6992948688567, 82.0324843563139, 97.1282077953219,
67.0289828069508,
83.0017600394785), var6 = c(35.3501682728529, 31.1327565461397,
21.9722577184439, 44.7750159911811, 41.9370178319514,
53.7735476344824,
35.3551966138184, 38.252913877368, 34.6147643961012, 32.9839759506285,
28.1436816416681, 24.9134236015379, 26.697716023773, 31.1821212992072,
29.7940192557871, 68.7213623709977, 72.2950306721032,
45.6320049799979,
38.598245754838), kmeans = structure(c(2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label =
c("1",
"2", "3"), class = "factor")), .Names = c("var1", "var2",
"var3", "var4", "var5", "var6", "kmeans"), row.names = c(2L,
4L, 5L, 6L, 7L, 9L, 12L, 13L, 14L, 18L, 19L, 20L, 21L, 22L,
23L, 26L, 27L, 29L, 30L), class = "data.frame"), dataset2 =
structure(list(
var1 = c(24.4858060218394, 38.8159691542387), var2 =
c(92.535456828773,
92.1455484442413), var3 = c(23.7727256864309, 39.6465750969946
), var4 = c(81.2065978161991, 62.8835928440094), var5 =
c(47.5475750491023,
45.1348656974733), var6 = c(90.111320503056, 79.97005013749
), kmeans = structure(c(3L, 3L), .Label = c("1", "2",
"3"), class = "factor")), .Names = c("var1", "var2",
"var3", "var4", "var5", "var6", "kmeans"), row.names = c(11L,
28L), class = "data.frame")), .Names = c("dataset1", "mydata",
"dataset2"))
Daniel, what would be the solution with
purrr::keep
to a list? Try to run here only to delete objects containing numbers, but I could not. See:remove<-mylist%>%keep(~str_detect(.x,'[[:digit:]]'))
. This generates an error message.– neves
Error: Result 1 is not a length 1 atomic vector
In addition: Warning message:
In stri_detect_regex(string, pattern, opts_regex = opts(pattern)) :
 argument is not an atomic vector; coercing
– neves
The list is named and contains three elements.
– neves
I edited the question.
– neves
updated the response
– Daniel Falbel
Thank you, Daniel. It works perfectly. I will study these notations better on
purrr
.– neves