计算R中每个组合中存在的每个变量的变量变换组合
我试着再次问这个问题,希望能以更好的方式! 我想要一个结果数据框,其中每个模型中都有var1、var2、var3、var4、var5、var6、var7、var8、var9。然后,9个变量中的每一个都可以不转换或ln转换计算R中每个组合中存在的每个变量的变量变换组合,r,variables,combinations,transformation,R,Variables,Combinations,Transformation,我试着再次问这个问题,希望能以更好的方式! 我想要一个结果数据框,其中每个模型中都有var1、var2、var3、var4、var5、var6、var7、var8、var9。然后,9个变量中的每一个都可以不转换或ln转换 var <- c(paste0("var", 1:9), paste0("lnvar", 1:9)) df <- as.data.frame (t(combn(var, 9))) df$name <- paste0("model", 1:nrow(df))
var <- c(paste0("var", 1:9), paste0("lnvar", 1:9))
df <- as.data.frame (t(combn(var, 9)))
df$name <- paste0("model", 1:nrow(df))
head(df)
V1 V2 V3 V4 V5 V6 V7 V8 V9 name
1 var1 var2 var3 var4 var5 var6 var7 var8 var9 model1
2 var1 var2 var3 var4 var5 var6 var7 var8 lnvar1 model2
3 var1 var2 var3 var4 var5 var6 var7 var8 lnvar2 model3
4 var1 var2 var3 var4 var5 var6 var7 var8 lnvar3 model4
5 var1 var2 var3 var4 var5 var6 var7 var8 lnvar4 model5
6 var1 var2 var3 var4 var5 var6 var7 var8 lnvar5 model6
var以下是我的想法:
# Set up 9 variables and one possible transformation for each of those 9 variables
var <- c(paste0("var", 1:9), paste0("lnvar", 1:9))
# Calculate popssible combinations
df <- as.data.frame(t(combn(var, 2)))
# Add column with model name
df$name <- paste0("model", 1:nrow(df))
> df
V1 V2 name
1 var1 var2 model1
2 var1 var3 model2
3 var1 var4 model3
4 var1 var5 model4
5 var1 var6 model5
6 var1 var7 model6
7 var1 var8 model7
8 var1 var9 model8
9 var1 lnvar1 model9
10 var1 lnvar2 model10
11 var1 lnvar3 model11
12 var1 lnvar4 model12
13 var1 lnvar5 model13
14 var1 lnvar6 model14
15 var1 lnvar7 model15
16 var1 lnvar8 model16
17 var1 lnvar9 model17
18 var2 var3 model18
19 var2 var4 model19
20 var2 var5 model20
21 var2 var6 model21
22 var2 var7 model22
23 var2 var8 model23
24 var2 var9 model24
25 var2 lnvar1 model25
26 var2 lnvar2 model26
27 var2 lnvar3 model27
28 var2 lnvar4 model28
29 var2 lnvar5 model29
30 var2 lnvar6 model30
31 var2 lnvar7 model31
32 var2 lnvar8 model32
33 var2 lnvar9 model33
34 var3 var4 model34
35 var3 var5 model35
36 var3 var6 model36
37 var3 var7 model37
38 var3 var8 model38
39 var3 var9 model39
40 var3 lnvar1 model40
41 var3 lnvar2 model41
42 var3 lnvar3 model42
43 var3 lnvar4 model43
44 var3 lnvar5 model44
45 var3 lnvar6 model45
46 var3 lnvar7 model46
47 var3 lnvar8 model47
48 var3 lnvar9 model48
49 var4 var5 model49
50 var4 var6 model50
51 var4 var7 model51
52 var4 var8 model52
53 var4 var9 model53
54 var4 lnvar1 model54
55 var4 lnvar2 model55
56 var4 lnvar3 model56
57 var4 lnvar4 model57
58 var4 lnvar5 model58
59 var4 lnvar6 model59
60 var4 lnvar7 model60
61 var4 lnvar8 model61
62 var4 lnvar9 model62
63 var5 var6 model63
64 var5 var7 model64
65 var5 var8 model65
66 var5 var9 model66
67 var5 lnvar1 model67
68 var5 lnvar2 model68
69 var5 lnvar3 model69
70 var5 lnvar4 model70
71 var5 lnvar5 model71
72 var5 lnvar6 model72
73 var5 lnvar7 model73
74 var5 lnvar8 model74
75 var5 lnvar9 model75
76 var6 var7 model76
77 var6 var8 model77
78 var6 var9 model78
79 var6 lnvar1 model79
80 var6 lnvar2 model80
81 var6 lnvar3 model81
82 var6 lnvar4 model82
83 var6 lnvar5 model83
84 var6 lnvar6 model84
85 var6 lnvar7 model85
86 var6 lnvar8 model86
87 var6 lnvar9 model87
88 var7 var8 model88
89 var7 var9 model89
90 var7 lnvar1 model90
91 var7 lnvar2 model91
92 var7 lnvar3 model92
93 var7 lnvar4 model93
94 var7 lnvar5 model94
95 var7 lnvar6 model95
96 var7 lnvar7 model96
97 var7 lnvar8 model97
98 var7 lnvar9 model98
99 var8 var9 model99
100 var8 lnvar1 model100
101 var8 lnvar2 model101
102 var8 lnvar3 model102
103 var8 lnvar4 model103
104 var8 lnvar5 model104
105 var8 lnvar6 model105
106 var8 lnvar7 model106
107 var8 lnvar8 model107
108 var8 lnvar9 model108
109 var9 lnvar1 model109
110 var9 lnvar2 model110
111 var9 lnvar3 model111
112 var9 lnvar4 model112
113 var9 lnvar5 model113
114 var9 lnvar6 model114
115 var9 lnvar7 model115
116 var9 lnvar8 model116
117 var9 lnvar9 model117
118 lnvar1 lnvar2 model118
119 lnvar1 lnvar3 model119
120 lnvar1 lnvar4 model120
121 lnvar1 lnvar5 model121
122 lnvar1 lnvar6 model122
123 lnvar1 lnvar7 model123
124 lnvar1 lnvar8 model124
125 lnvar1 lnvar9 model125
126 lnvar2 lnvar3 model126
127 lnvar2 lnvar4 model127
128 lnvar2 lnvar5 model128
129 lnvar2 lnvar6 model129
130 lnvar2 lnvar7 model130
131 lnvar2 lnvar8 model131
132 lnvar2 lnvar9 model132
133 lnvar3 lnvar4 model133
134 lnvar3 lnvar5 model134
135 lnvar3 lnvar6 model135
136 lnvar3 lnvar7 model136
137 lnvar3 lnvar8 model137
138 lnvar3 lnvar9 model138
139 lnvar4 lnvar5 model139
140 lnvar4 lnvar6 model140
141 lnvar4 lnvar7 model141
142 lnvar4 lnvar8 model142
143 lnvar4 lnvar9 model143
144 lnvar5 lnvar6 model144
145 lnvar5 lnvar7 model145
146 lnvar5 lnvar8 model146
147 lnvar5 lnvar9 model147
148 lnvar6 lnvar7 model148
149 lnvar6 lnvar8 model149
150 lnvar6 lnvar9 model150
151 lnvar7 lnvar8 model151
152 lnvar7 lnvar9 model152
153 lnvar8 lnvar9 model153
#为这9个变量中的每一个设置9个变量和一个可能的转换
varx非常感谢您的回答,Majom!很抱歉,我对在线问R问题还不太熟悉,而且我从一开始就没有把问题讲清楚!我现在尝试使用您的编码示例编辑问题!也许你还能帮我!如果每个变量都可以是原始变量或日志转换变量,那么您将看到2^9=512个不同的组合。
x <- rep(list(c("","ln")),9)
x <- mapply(paste0, x, paste0("var",1:9), SIMPLIFY = FALSE)
x <- expand.grid(x,KEEP.OUT.ATTRS = FALSE, stringsAsFactors = FALSE)
str(x)
#'data.frame': 512 obs. of 9 variables:
# $ Var1: chr "var1" "lnvar1" "var1" "lnvar1" ...
# $ Var2: chr "var2" "var2" "lnvar2" "lnvar2" ...
# $ Var3: chr "var3" "var3" "var3" "var3" ...
# $ Var4: chr "var4" "var4" "var4" "var4" ...
# $ Var5: chr "var5" "var5" "var5" "var5" ...
# $ Var6: chr "var6" "var6" "var6" "var6" ...
# $ Var7: chr "var7" "var7" "var7" "var7" ...
# $ Var8: chr "var8" "var8" "var8" "var8" ...
# $ Var9: chr "var9" "var9" "var9" "var9" ...