我是新手,需要一些帮助。我有一个数据框列表,对于列表内的每个元素(即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)
但是对于较大的矩阵和列表,这种方法非常缓慢。有没有推荐的方法可以使这段代码更快?谢谢!