【发布时间】:2016-12-15 02:39:47
【问题描述】:
我有以下(简化的)文本文件,名为datafile.txt:
Height Color Sales
short blue 24
short blue 25
short red 31
short red 28
short black 35
short black 32
tall blue 31
tall blue 32
tall red 36
tall red 32
tall black 41
tall black 36
从这个文本文件中,我创建了data.frame data:
data <- read.table("datafile.txt", header = TRUE)
通过以下行,我可以执行双向 ANOVA:
anova(lm(Sales ~ Height*Color, data))
但是,我希望执行双向 ANOVA 的以下代码不起作用:
columnNames <- names(data)
anova(lm(columnNames[3] ~ columnNames[1]*columnNames[2], data))
我想使用从 data.frame 中提取的列名来执行分析,而不是直接输入 Sales、Height 和 Color。非常感谢您的帮助。
【问题讨论】:
-
尽管使用了“table”一词,但 R 中的术语
data.table并不是指由read.table创建的对象类型。首先创建数据帧(作为 S 的一部分,然后在其克隆 R 中创建,但 data.tables 是 Matt Dowle 的最新发明,并且完全不同。read.table函数(及其所有 read.* 表亲)创建一个数据框。如果您确实想要一个 data.table,则需要阅读该包文档并使用fread。