我有一个包含141行和多个列的CSV文件。我希望将我的数据按照第一和第二列(即“label”和“index”)升序排序。以下是我的代码:
final_data <- read.csv("./features.csv",
header = FALSE,
col.names = c('label','index', 'nr_pix', 'rows_with_1', 'cols_with_1',
'rows_with_3p', 'cols_with_3p', 'aspect_ratio',
'neigh_1', 'no_neigh_above', 'no_neigh_below',
'no_neigh_left', 'no_neigh_right', 'no_neigh_horiz',
'no_neigh_vert', 'connected_areas', 'eyes', 'custom'))
sorted_data_by_label <- final_data[order(label),]
sorted_data_by_index <- sorted_data_by_label[order(index),]
write.table(sorted_data_by_index, file = "./features.csv",
append = FALSE, sep = ',',
row.names = FALSE)
我选择从CSV文件中读取,并使用write.table,因为这是我的代码要求,需要用列名覆盖CSV文件。
即使在order(label),
和order(index),
后面添加了,
,代码排序数据仍然应该能够读取其他行和列对吧?
运行这段代码后,我只得到了141行中的第一行。有没有办法解决这个问题呢?
final_data$label
,并在第二个中使用sorted_data_by_label$index
,如果索引未在全局环境中创建为对象。 - akrun