Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中应用3种方式频率表的列表_R_Dataframe_Lapply - Fatal编程技术网

在R中应用3种方式频率表的列表

在R中应用3种方式频率表的列表,r,dataframe,lapply,R,Dataframe,Lapply,我有一个3种方式的频率表,我想把它们组合成一个列表,通常我写listOfTable这是最明显的方法 sapply(1:5, function(i) list(applyAlist[,,i])) 我们可以使用lappy来实现这一点,方法是在三维序列中循环,并根据序列对“applyAlist”进行子集设置 lapply(seq(dim(applyAlist)[3]), function(i) applyAlist[,,i]) 由于OP需要一个列表输出,lappy总是给出该输出。对于sapply,

我有一个3种方式的频率表,我想把它们组合成一个列表,通常我写
listOfTable这是最明显的方法

sapply(1:5, function(i) list(applyAlist[,,i]))

我们可以使用
lappy
来实现这一点,方法是在三维序列中循环,并根据序列对“applyAlist”进行子集设置

lapply(seq(dim(applyAlist)[3]), function(i) applyAlist[,,i])
由于OP需要一个
列表
输出,
lappy
总是给出该输出。对于
sapply
,默认选项是
simplify=TRUE
,因此在未将选项更改为
simplify=FALSE
的情况下,当元素的
长度相同时,它将返回一个
矩阵
向量
。如果
列表
元素属于不同的
类别
元素,这将变得更加明显,并且具有破坏性

lst <- list(a = 1:3, b = rep(letters[1:3], 2), c = 2:4)
lapply(lst, unique)
#$a
#[1] 1 2 3

#$b
#[1] "a" "b" "c"

#$c
#[1] 2 3 4

sapply(lst, unique)
#      a   b   c  
#[1,] "1" "a" "2"
#[2,] "2" "b" "3"
#[3,] "3" "c" "4"

给出了与
lappy
类似的结果,因为我们更改了
simplify

sapply(1:5,函数(i)列表(表[,i]))
FYI,
数据。表
table
没有任何关系(我删除了标记)@Sotos,这很快,谢谢你可以使用
lappy
lappy(1:5,函数(i)applyAlist[,i])
@akrun,所以当我们使用lappy时,不要使用list(),如果您计划使用data.table方法,那么您应该意识到applyAlist对象有3个维度,data.tables只有2个维度。你应该说明你希望如何处理这个问题。。。作为一个单独的问题。除了他的代码没有创建名为
table
的对象之外。
lst <- list(a = 1:3, b = rep(letters[1:3], 2), c = 2:4)
lapply(lst, unique)
#$a
#[1] 1 2 3

#$b
#[1] "a" "b" "c"

#$c
#[1] 2 3 4

sapply(lst, unique)
#      a   b   c  
#[1,] "1" "a" "2"
#[2,] "2" "b" "3"
#[3,] "3" "c" "4"
sapply(lst, unique, simplify = FALSE)
#$a
#[1] 1 2 3

#$b
#[1] "a" "b" "c"

#$c
#[1] 2 3 4