r - 获取数据框列表中每列的前 10 个值 R
问题描述
我有一个列和行长度不均匀的数据框列表,我想以最快的方式仅提取每列的前 10 个元素。
例子 :
ex1 = data.frame(a = 1:20, b = 31:40)
ex2 = data.frame(a = 1:100)
ex3 = data.frame()
list = c()
list[[1]] = ex1; list[[2]] = ex2; list[[3]] = ex3
输出应该是一个数据框列表,每列只有前 10 个值和后 10 个值。对于 ex1,这看起来像一个包含 a 和 b 列的数据框。a 将具有 1-10 和 10-20,list[[2]] 将包含元素为 1:10 和 90:100 的数据框,而 list[[3]] 将为空。
谢谢。
解决方案
一种选择是使用head
和tail
绑定相应的行
lapply(list, function(x) rbind(head(x, 10), tail(x, 10)))
#[[1]]
# a b
#1 1 31
#2 2 32
#3 3 33
#4 4 34
#5 5 35
#6 6 36
#7 7 37
#8 8 38
#9 9 39
#10 10 40
#11 11 31
#12 12 32
#13 13 33
#14 14 34
#15 15 35
#16 16 36
#17 17 37
#18 18 38
#19 19 39
#20 20 40
#
#[[2]]
# a
#1 1
#2 2
#3 3
#4 4
#5 5
#6 6
#7 7
#8 8
#9 9
#10 10
#91 91
#92 92
#93 93
#94 94
#95 95
#96 96
#97 97
#98 98
#99 99
#100 100
#
#[[3]]
#data frame with 0 columns and 0 rows
推荐阅读
- ios - 我如何检查 Alamofire 我的请求已发送?
- amazon-web-services - AWS Cognito 在发布模式下不起作用,异常:“AmazonCognitoIdentityProviderConfig 的类型初始化程序”
- python - 将字典中的值替换为多索引数据框
- android - ndk 构建期间无法构建静态库
- javascript - React - Redux App:“传播不可迭代实例的无效尝试”问题
- java - 从 storedFunction 传递 Char 时的 Oracle-17132
- reactjs - React 酶测试门户
- python - 对象检测 api 训练问题
- facebook - 启用 Checkbox Messenger(使用 Shopify 应用程序)
- debugging - macOS Mojave:如何实现协同设计以启用调试(gdb)?