#r
Вопрос:
Я хотел бы иметь возможность сделать следующее: прочитать матрицу коэффициентов CF и определить, какие переменные имеют ненулевой коэффициент (в данном примере var2 и var4). Затем создайте новый фрейм данных или матрицу, содержащую только эти переменные.
Спасибо!
# Dataframe
var1 <- c(1, 2, 3)
var2 <- c(1, 0.3, 1.2)
var3 <- c(6, 8, 11)
var4 <- c(0.2, 4, 11)
df <- data.frame(var1, var2, var3, var4)
# Matrix with coefficients for the variables in df
CF <- as.matrix(c(0.0, 0.9, 0.0, -1.2))
rownames(CF) <- c("var1", "var2", "var3", "var4")
# Desired result is dataframe or matrix
df_var <- data.frame(var2, var4)
Ответ №1:
Создайте логический вектор, получите row.names
от » CF «и используйте его в качестве имен столбцов в «df»
df_var <- df[row.names(CF)[CF != 0]]
-выход
df_var
var2 var4
1 1.0 0.2
2 0.3 4.0
3 1.2 11.0