我有一个51个数据帧的列表,我需要转置它们然后删除新数据帧的前两行 . 我试图使用lapply,但不熟悉语法 . 我的操作很容易在一个数据框上完成,但使用lapply作为数据框列表,是我遇到麻烦的地方 . 这就是我为列表中的一个元素到达我的最终数据框所做的 -
john<-t(dflist[["df7"]])
john <- john[-c(1,2), ]
对于每个数据帧,按行号删除行将是正确的,因为它们在结构上是相同的 .
构建了执行上述操作的功能:
transposer <- function(df) {
z<-t(df)
df<-z[-c(1,2),]
}
如何在lapply中使用此功能?
解决:汤<-lapply(gooble,transposer)
我说了什么
1 回答
这是一种使用
lapply()
的方法 ...和输出,注意到我们打印的数据框中已经省略了原始数据框中表示变量
X1
和X2
的行:这个答案中一个重要的微妙之处是
lapply()
中匿名函数中的代码行t(x)[-c(1,2),]
. 由于t(x)
的结果是一个对象,我们可以立即使用提取运算符的[
形式删除前两行 .