我想通過引用數據框列名並將它們插入到一個公式中來使代碼段更加靈活,而不是直接調用名稱。下面的示例工作,雖然要直接插入字段名稱:如何在方程R中插入數據幀的列名?
require(e1071)
class = c(0.25, 0.34, 0.55)
field1 = c(23, 33, 34)
field2 = c(44, 55, 32)
df = data.frame(class, field1, field2)
mysvm = svm(class ~ field1 + field2, data = df)
下面的例子不工作,我不知道爲什麼:
require(e1071)
class = c(0.25, 0.34, 0.55)
field1 = c(23, 33, 34)
field2 = c(44, 55, 32)
df = data.frame(class, field1, field2)
name1 = names(df)[2]
name2 = names(df)[3]
mysvm = svm(class ~ name1 + name2, data = df)
如何可以引用數據框中的第2列和第3列並將它們正確地插入到等式中?
如何'fun2New'任何不同於我的函數'foo'? – 2014-09-21 14:57:38
@Richard Scriven我用'fun2New'作爲'fun3'的參數來改變'Call'語句中的公式。我應該把這個函數放在'fun3'裏面。但是,不知何故沒有得到它的正確。無論如何,OP似乎不希望這種功能。所以,我沒有爲此工作。 – akrun 2014-09-21 15:45:29
但是你是否從理查德的答案中複製了它,但沒有歸屬? – 2014-09-21 16:05:22