在線性模型的公式定義中變換模型是否是一種很好的做法?R中線性模型的變換變量
例如:
reg1 <- lm(log(Y) ~ X + Z + (W)^2, data = data)
當我只有W
,X
,Y
,Z
數據,而不是轉化變量?我沒有看到W^2
列出,當我打電話給reg1
摘要。
在線性模型的公式定義中變換模型是否是一種很好的做法?R中線性模型的變換變量
例如:
reg1 <- lm(log(Y) ~ X + Z + (W)^2, data = data)
當我只有W
,X
,Y
,Z
數據,而不是轉化變量?我沒有看到W^2
列出,當我打電話給reg1
摘要。
由於快速搜索並未顯露出可重複的(這將有一個答案),這裏是一個:
,您可以指定你的迴歸方程的lm
部分稱爲公式。公式以自己的方式使用運算符(如^
,+
),因此您不能使用它們在公式中進行算術運算。
爲了式內做算術,則需要使用I
功能,如@jogo建議(見?I
其中的R的說明),如下所示:
reg1 <- lm(log(Y) ~ X + Z + I(W^2), data = data)
這防止從ř解釋運營商如公式運算符,所以它們被解釋爲算術運算符代替。
另一個R可能以非直觀方式解釋輸入的例子是函數data.frame
。如果你試圖建立一個data.frame了一個單子,它強制轉換成原子矢量(S):
li = list(x = 1:3, y = 11:13, z = 21:23)
data.frame(a = 5:7, b = li)
# a b.x b.y b.z
# 1 5 1 11 21
# 2 6 2 12 22
# 3 7 3 13 23
這也可以使用I
是可以避免的,這將抑制名單這個特殊的解釋爲一個或多個原子的載體,並創建一個列表列,而不是:
data.frame(a = 5:7, b = I(li))
# a b
# x 5 1, 2, 3
# y 6 11, 12, 13
# z 7 21, 22, 23
你想'我(W^2)'見'的幫助(「公式」)' – jogo