我正在尝试从1000个数据帧中隔离同一位置(同一列和同一行)中的一个点。每个数据框都有相同的8列,行数不同(至少一个),而我现在只需要第一行的点即可。这些数据帧在使用lapply
函数创建的列表中。这是我的操作方式:
list <- list.files(pattern=".aei")
files <- lapply(list, read.table, ...)
现在,我需要从第1行和第2列的每个数据帧中隔离点。我能够使用以下代码对一个数据帧执行此操作:
a <- data.frame(files[1])[1,2]
但是,我无法将其用于所有1000个文件。我已经尝试了几段代码,例如:
all <- data.frame(files[1:999])[1,2]
all<- lapply(files data.frame)[1,2]
all<- lapply(files, data.frame[1,2])
甚至两个不同的for循环:
for(i in files [[1:999]]) {
list(files[1:999])[1,2]
}
for(i in files [[1:999]]) {
data.frame(files[1:999])[1,2]
}
这些方法是否正确?还是完全错误?我已经坚持了一段时间,似乎在其他任何想法上都陷入了死胡同。请让我知道您可能有任何建议!
答案 0 :(得分:2)
我们可以使用匿名函数(lambda函数)来提取元素
lapply(files, function(x) x[1,2])
read.table
已经给出了data.frame
,因此不需要用data.frame
换行