按字符向量排序/排序列表

时间:2017-03-18 16:08:53

标签: r

道歉我的问题不清楚。这是我对以下作业问题的解释:

创建一个列表(命名为mylist),其中包含一个字符向量(“J”,“A”,“G”,“B”,“H”,“E”,“C”,“F”,“ D“,”I“),一个数字向量(来自rnorm的10个随机值),以及大小为10×10(包含整数1到100)的矩阵。之后,您将提供一种方法,根据排序字符列表的顺序对mylist的所有组件(字符,数字和矩阵)的行进行排序。最后,对排序的第二个组件和第三个(整数)组件进行矩阵时间向量乘法(您需要提取并将这些组件转换为合适的模式)。

根据上面的代码,编写一个函数,读取一个字符向量(大小为n),一个数字向量(大小为n)和一个矩阵(大小为n x n)。然后根据字符向量对所有组件的行进行排序,执行矩阵时间向量乘法,将乘法输出与输入组合成一个应该是函数输出的数据帧。

1 个答案:

答案 0 :(得分:0)

我们需要单独提取character向量,order然后使用lapply to命令元素

i1 <- order(lst$vec1) #assuming that the character `vector` is named `vec1`
lst1 <- lapply(lst, function(x) if(is.vector(x)) x[i1] else x[i1,])