簡體   English   中英

使用正則表達式創建功能矩陣?

[英]Create matrix of features using regex?

假設我有一個101個變量的數據框。 我選擇一個所謂的Y作為因變量,其余100個所謂的x_1,X_2,...,X_ {100}作為自變量。

現在,我想創建一個包含100個獨立變量的矩陣。 有哪些直接方法? 就像我建立線性回歸模型時一樣,只需使用“。” 作為正則表達式,即lm(Y ~ ., _____)

您可以使用grep函數提取與數據框的獨立變量關聯的列名稱。 然后,您可以將其轉換為矩陣。 請參見下面的代碼:

# simulation of the data frame with 100 measurements and 101 variables

n <- 100
df <- data.frame(matrix(1:101 * n, ncol = 101))
names(df) <- c(paste0("X_", 1:100), "Y")

# extract matrix of Xs
m_x <- as.matrix(df[, grep("^X", names(df))])
dimnames(m_x)

輸出:

[[1]]
NULL

[[2]]
  [1] "X_1"   "X_2"   "X_3"   "X_4"   "X_5"   "X_6"   "X_7"   "X_8"   "X_9"   "X_10"  "X_11"  "X_12"  "X_13"  "X_14"  "X_15" 
 [16] "X_16"  "X_17"  "X_18"  "X_19"  "X_20"  "X_21"  "X_22"  "X_23"  "X_24"  "X_25"  "X_26"  "X_27"  "X_28"  "X_29"  "X_30" 
 [31] "X_31"  "X_32"  "X_33"  "X_34"  "X_35"  "X_36"  "X_37"  "X_38"  "X_39"  "X_40"  "X_41"  "X_42"  "X_43"  "X_44"  "X_45" 
 [46] "X_46"  "X_47"  "X_48"  "X_49"  "X_50"  "X_51"  "X_52"  "X_53"  "X_54"  "X_55"  "X_56"  "X_57"  "X_58"  "X_59"  "X_60" 
 [61] "X_61"  "X_62"  "X_63"  "X_64"  "X_65"  "X_66"  "X_67"  "X_68"  "X_69"  "X_70"  "X_71"  "X_72"  "X_73"  "X_74"  "X_75" 
 [76] "X_76"  "X_77"  "X_78"  "X_79"  "X_80"  "X_81"  "X_82"  "X_83"  "X_84"  "X_85"  "X_86"  "X_87"  "X_88"  "X_89"  "X_90" 
 [91] "X_91"  "X_92"  "X_93"  "X_94"  "X_95"  "X_96"  "X_97"  "X_98"  "X_99"  "X_100"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM