我需要一些有关 R 编码的帮助。
数据集 Glass 由 214 行数据组成,其中每行对应一个玻璃样本。每行由 10 列组成。当视为分类问题时,第 10 列 (类型)指定每个观察/实例的类。其余列是可用于推断第 10 列的属性。这是第一行的示例
RI Na Mg Al Si K Ca Ba Fe Type
1 1.52101 13.64 4.49 1.10 71.78 0.06 8.75 0.0 0.0 1
首先,我转换了第 10 列,以便 R 将其解释为因子而不是整数值。
现在我需要创建一个包含所有观测值索引的向量(必须具有值 1-214)。需要完成此操作才能为朴素贝叶斯创建训练数据。我知道如何创建一个包含 214 个值的向量,但不知道如何创建一个具有数据帧观测值的特定索引的向量。
如果有帮助的话,正在为朴素贝叶斯设置训练数据,谢谢
我不完全确定我明白你想要做的事情......所以如果我的解决方案没有帮助,请原谅我。如果您的 df 的名称是“df”,只需使用 dplyr 包重新排序您的列并编写
library(dplyr)
df['index'] <- 1:214
df <- df %>% select(index,everything())
这是一个例子。这样我就可以发布完整的数据帧,我的数据帧将只有 10 行...
假设我的数据框是:
df <- data.frame(col1 = c(2.3,6.3,9.2,1.7,5.0,8.5,7.9,3.5,2.2,11.5),
col2 = c(1.5,2.8,1.7,3.5,6.0,9.0,12.0,18.0,20.0,25.0))
所以看起来像
col1 col2
1 2.3 1.5
2 6.3 2.8
3 9.2 1.7
4 1.7 3.5
5 5.0 6.0
6 8.5 9.0
7 7.9 12.0
8 3.5 18.0
9 2.2 20.0
10 11.5 25.0
如果我想添加另一列,即 1,2,3,4,5,6,7,8,9,10...,我将其称为“索引”...我可以这样做:
library(dplyr)
df['index'] <- 1:10
df <- df %>% select(index, everything())
那会给我
index col1 col2
1 1 2.3 1.5
2 2 6.3 2.8
3 3 9.2 1.7
4 4 1.7 3.5
5 5 5.0 6.0
6 6 8.5 9.0
7 7 7.9 12.0
8 8 3.5 18.0
9 9 2.2 20.0
10 10 11.5 25.0
希望这会有所帮助
df$ind <- seq.int(nrow(df))