gpt4 book ai didi

r - 加速 R for 循环以将多个变量粘贴在一起

转载 作者:行者123 更新时间:2023-12-01 09:44:54 26 4
gpt4 key购买 nike

我是新来的,但需要一些帮助。我有一个数据框列表,对于列表中的每个元素(即 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)

但是对于较大的矩阵和列表,这种方法非常慢。使此代码更快的任何建议?谢谢!

最佳答案

假设一切都是整数< 10

lapply(list1, function(x){
x[,-3] <- x[,-3] + x[,3]/10
x})

关于r - 加速 R for 循环以将多个变量粘贴在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51313602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com