【发布时间】:2018-07-12 20:03:34
【问题描述】:
我是新来的,但需要一些帮助。我有一个数据框列表,对于列表中的每个元素(即 data.frame),我想快速将数据集中的一列粘贴到同一数据集中的多个其他列,仅用句点分隔(“ 。”)。
所以如果我在数据框列表中有一组数据:
list1[[1]]
A B C
2 1 5
4 2 2
那么我想要以下结果:
list1[[1]]
A B C
2.5 1.5 5
4.2 2.2 2
其中 C 分别粘贴到 A 和 B。然后,我希望对列表中的每个数据框都进行此操作。
我尝试了以下方法:
pasteX<-function(df) {for (i in 1:dim(df)[2]-1) {
df[,i]<-as.numeric(sprintf("%s.%s", df[,i], df$C))
}
return(df)}
list2<-lapply(list1, pasteX)
但是对于较大的矩阵和列表,这种方法非常缓慢。有什么建议可以让这段代码更快吗?谢谢!
【问题讨论】:
-
欢迎。理想情况下,以更易于阅读的方式提供您的数据:stackoverflow.com/questions/5963269/…
-
啊,谢谢你的分享……从现在开始我会更加注意我如何呈现我的数据和问题!
标签: r