1
我想读出矩阵中每个(唯一)值的列的数字,并将该值添加到原始单元格值为新矩阵中的rownames的新表格。按单元格内容合并表格
这里有一个最小的工作示例(MWE):
其中许多(每人一个)矩阵fruit_ranking_person1
。
fruit_ranking_thomas <- matrix(
c(
"NA", "Pear", "Banana", "Strawberry", "Peach", "Rasberry", "Grapefruit", "Orange", "NA", "Apple"
),
nrow = 2
)
print(fruit_ranking_thomas)
[,1] [,2] [,3] [,4] [,5]
[1,] "NA" "Banana" "Peach" "Grapefruit" "NA"
[2,] "Pear" "Strawberry" "Rasberry" "Orange" "Apple"
这个原始矩阵给出了一个人给予这些水果中的每一个的等级(从1给予)。
应该变成这个矩阵fruit_ranking_aggregate
(这里硬输入了说明):
Fruit, Thomas, Lisa
Apple, 5 ...
Pear, 1
Banana, 2
Strawberry, 2
Peach, 3
Rasberry 3
Grapefruit, 4
Orange, 4
我也已经有一个空矩阵fruit_ranking_aggregate
:
fruit_ranking_aggregate <- matrix(
, # empty for now
nrow = 8, # let's say there are 7 fruit
ncol = 3, # let's say there's going to be 3 people
dimnames = list(
c(
"Apple", "Banana", "Grapefruit", "Orange", "Peach", "Pear", "Rasberry", "Strawberry"
),
c("Thomas", "Lisa", "Peter")
)
)
print(fruit_ranking_aggregate)
Thomas Lisa Peter
Apple NA NA NA
Banana NA NA NA
Grapefruit NA NA NA
Orange NA NA NA
Peach NA NA NA
Pear NA NA NA
Rasberry NA NA NA
Strawberry NA NA NA
此外,值得注意的:
- 为简单起见,我使用
fruit_ranking_person1
中的colname作为排名;优选的水果在右边。 - 有
NA
s在fruit_ranking_person1
。 - 水果
fruit_ranking_person1
在每个person
矩阵内都是唯一的;没有重复提到(我测试数据录入)在fruit_ranking_person1
- 垂直维度(不同行)是没有意义的 - 不过,数据需要在进入这种形式(这是一个q-sort,如果任何人的兴趣)
- 我知道我仍然必须通过person1-n循环(或其他),但这是一个不同的问题。
ps .:我知道,不同于人们作为列,而不是行 - 我使用的方法(q-methodology)要求它。
虽然我在这里,但我也无法使StackExchange格式化工作为第一张桌子。该死。 – maxheld 2014-11-06 15:57:15