我有一个矩阵,想对行重新排序,例如,第 5 行可以切换到第 2 行,第 2 行可以切换到第 7 行。我有一个列表,所有行名都用分隔,\n
我想我可以以某种方式将它读入 R (它是一个 txt 文件),然后只使用矩阵的名称(在我的情况下为“k”并执行类似的操作k[txt file,]-> k_new
,但这不起作用,因为标识符不是第一列而是定义为行名。
问问题
3993 次
1 回答
1
k[ c(1,5,3,4,7,6,2), ] #But probably not what you meant....
或者也许(如果您的“k”对象行名不是默认的字符数字序列):
k[ char_vec , ] # where char_vec will get matched to the row names.
(dat <- structure(list(person = c(1, 1, 1, 1, 2, 2, 2, 2), time = c(1,
2, 3, 4, 1, 2, 3, 4), income = c(100, 120, 150, 200, 90, 100,
120, 150), disruption = c(0, 0, 0, 1, 0, 1, 1, 0)), .Names = c("person",
"time", "income", "disruption"), row.names = c("h", "g", "f",
"e", "d", "c", "b", "a"), class = "data.frame"))
dat[ c('h', 'f', 'd', 'b') , ]
#-------------
person time income disruption
h 1 1 100 0
f 1 3 150 0
d 2 1 90 0
b 2 3 120 1
于 2012-08-30T20:08:15.837 回答