Как я могу написать цикл I l oop в R для удаления столбцов путем индексации внутри имени? - PullRequest
0 голосов
/ 19 июня 2020

Мне нужно удалить ряд переменных с именами E1_3, E2_3, ..., E128_3.

Я пробовал что-то вроде этого, но не работает:

for(i in 1:128){data_wide$E[i]_3 = NULL}

Кто-нибудь сталкивался с подобной проблемой?

Спасибо всему сообществу за вашу помощь.

Riccardo

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Спасибо, решил с помощью

data = select(data_wide, -ends_with("_3"))

0 голосов
/ 19 июня 2020

Если вы знаете номера столбцов переменных, которые хотите удалить, вы можете использовать это:

# a data frame
df <- data.frame(matrix(nrow = 1000, ncol = 100))
for(i in 1:100) {
        df[, i] <- rnorm(100)
}

dim(df)
[1] 1000  100

# Eliminating variables 51 to 100
df[, 51:100] <- NULL

dim(df)
[1] 1000   50

В качестве альтернативы вы можете просто подмножество интересующих переменных:

# a data frame
df <- data.frame(matrix(nrow = 1000, ncol = 100))
for(i in 1:100) {
        df[, i] <- rnorm(100)
}

dim(df)
[1] 1000  100

# Subsetting variables 1 to 50
df <- df[, 1:50]

dim(df)
[1] 1000   50
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...