我有一个列表,有3个"列":
test = list(1:100, 1:100,1:100)
Run Code Online (Sandbox Code Playgroud)
如何访问每列的前10个条目?
test[c(1:10),]
Run Code Online (Sandbox Code Playgroud)
不起作用.我知道它适用于data.frames:
as.data.frame(test)[1:10,1:3]
Run Code Online (Sandbox Code Playgroud)
如何用列表解决这个问题?
编辑:要获得更一般的答案:
如何在第1列和第3列中获取条目15到20?这是我为data.frames做的事情:
as.data.frame(test)[c(15:20),c(1,3)]
Run Code Online (Sandbox Code Playgroud)
似乎索引在data.frames和lists之间有很大差异.
Did*_*rts 10
你可以用功能lapply()和head().
lapply(test,head,n=10)
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
[[2]]
[1] 1 2 3 4 5 6 7 8 9 10
[[3]]
[1] 1 2 3 4 5 6 7 8 9 10
Run Code Online (Sandbox Code Playgroud)
如果n=列表元素中的值小于,则显示所有值.
test = list(1:100, 1:100,1:5)
lapply(test,head,n=10)
[[1]]
[1] 1 2 3 4 5 6 7 8 9 10
[[2]]
[1] 1 2 3 4 5 6 7 8 9 10
[[3]]
[1] 1 2 3 4 5
Run Code Online (Sandbox Code Playgroud)