Я запускаю скрипт, который генерирует фреймы данных автоматически.В некоторых случаях я получаю столбцы с определенным шаблоном, таким как d123
или d3452
.Это в основном символ d с несколькими цифрами.Количество цифр может быть только одна или иногда оно может достигать 4 символов.Я хочу удалить все столбцы, которые соответствуют этой конкретной модели.Пример кадра данных выглядит следующим образом:
df <- data.frame(d1234=c(1,2,3), b=c(3,4,5),c=c(4,5,3), d3245=c(3,2,4))
df выглядит следующим образом:
d1234 b c d3245
1 1 3 4 3
2 2 4 5 2
3 3 5 3 4
Из этого я хочу удалить только первый и последний столбец, который соответствует шаблону.Я пробовал следующее:
df <- data.frame(d1234=c(1,2,3), b=c(3,4,5),c=c(4,5,3), d3245=c(3,2,4))
colpat <- "[d[:digit:]]"
if (colpat %in% names(df)) {
d <- df[,!names(df) == colpat]
} else {
d <- df
}
print(d)
Но все равно столбцы остаются