在数据集“PlantGrowth”中,只有两个变量,即组和权重。
Scanner scn = new Scanner(System.in);
int[] scores = new int[] {0,0,0,0,0};
String[] names = new String[] {"Art", "Bob", "Cal", "Dan", "Eli"};
final String PROMPT = "Enter points scored by ";
// a loop to ask for input
// you can treat these loops as saying "for each name in the names array, do this..."
for(int i = 0 ; i < names.length ; i++) {
// in the first iteration "names[i]" will be "Art", second iteration
// will be "Bob", and so on
System.out.print(PROMPT + names[i] + " >>>");
// set the corresponding score
scores[i] = scn.nextInt();
}
// another loop to print a bar chart
for(int i = 0 ; i < names.length ; i++) {
System.out.print(names[i] + " ");
for (int y = 1; y <= scores[i]; y++) {
System.out.print(" *");
}
System.out.print("\n");
}
变量“group”3级
data("PlantGrowth")
names(PlantGrowth)
[1] "weight" "group"
我希望能够调用变量“group”的控件和处理,但我无法弄清楚如何将它们分成自己的变量。我已将级别重命名为:
levels(PlantGrowth$group)
[1] "ctrl" "trt1" "trt2"
但是现在我想能够分析对治疗1和2的控制。我尝试了很多不同的事情:
levels(PlantGrowth$group) <- c("control","treatment1","treatment2")
显然这是不正确的,但谢谢!
答案 0 :(得分:1)
filter
中的dplyr
)
control <- PlantGrowth %>% filter(group == "control")
如果你愿意,你也可以通过&#34; group&#34;分割整个数据框,如下所示:
split(PlantGrowth, PlantGrowth$group)
答案 1 :(得分:0)
当然,大多数分析函数都可以使用组因子来分割数据处理,而无需拆分数据集吗?
不确定您想做什么比较,但例如您的数据的方差分析:
ANOVA <- aov(weight ~ group, data=PlantGrowth)
该功能使用您的组变量检查重量差异。
类似地,在绘图时,PlantGrowth$group
可以应用于图表上的适当点的颜色或形状。
答案 2 :(得分:0)
如果您想为每个组运行单独的模型并比较结果,您可以使用以下内容:
by(data = PlantGrowth, INDICES = PlantGrowth$group, FUN = summary)
或者你也可以构建一个回归矩阵并使用它们:
model.matrix(~PlantGrowth$group)