我有一个简单的问题(至少不适合我......).我已经以包含不同长度的多个数据帧的列表结束.我想计算每个数据帧的长度..
mylist <- list (a = data.frame(i = 1:10, j= 11:20), b = data.frame(i = 1:5, j= 11:15), c = data.frame(i = 1:8, j= 11:18))
mylist
$a
i j
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18
9 9 19
10 10 20
$b
i j
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
$c
i j
1 1 11
2 2 12
3 3 13
4 4 14
5 5 15
6 6 16
7 7 17
8 8 18
Run Code Online (Sandbox Code Playgroud)
我糟糕的代码:
lapply(mylist, function(y)length(y)
$a
[1] 2
$b
[1] 2
$c
[1] 2
Run Code Online (Sandbox Code Playgroud)
哦......不......我如何计算每个组件数据帧中的行数并获得一个新的向量:
# number of rows in each component dataframe of the list
myvec
[1] 10 5 8
Run Code Online (Sandbox Code Playgroud)
谢谢你的时间......我很感激......
Jos*_*ich 16
试试这个:
myvec <- sapply(mylist, NROW)
Run Code Online (Sandbox Code Playgroud)
length使用data.frames给出"奇数"结果,因为data.frames实际上是相同长度的向量列表. length(data.frame)给出基础列表的长度,即data.frame的列数.
NROW并且NCOL很好,因为它们倾向于为大多数对象提供"预期"结果.我用他们很多互动,但回落到nrow,ncol和length书写时的稳定代码(如程序,包),因为它们避免了一些额外的函数调用的开销.
| 归档时间: |
|
| 查看次数: |
9311 次 |
| 最近记录: |