我有三个数据......
[C1]
CODE VALUE
c1 0.1757
c2 0.1757
c3 0.1757
[C2]
CODE VALUE
c1 0.1757
c2 0.1757
c3 0.1757
[C3]
CODE VALUE
c1 0.1757
c2 0.1757
c3 0.1757
我想使用循环函数对数字= 2的VALUE
进行舍入,因为我想了解循环函数。
for(i in 1:3) {
a <-(paste0("c",i,"$VALUE"))
a<-round(a,digits=2)
}
以上代码无法处理我所做的事情......
如何调整代码......?
答案 0 :(得分:1)
最简单的选择是将数据集放在list
中,将其存储在list
中并在list
中进行处理
lst <- lapply(mget(paste0("C", 1:3)), transform, VALUE = round(VALUE, 2))
如果我们真的想用for
循环来修改全局环境中的对象
nm1 <- paste0("C", 1:3)
for(nm in nm1) {
tmp <- get(nm)
assign(nm, `[[<-`(tmp, 'VALUE', value = round(tmp[['VALUE']], 2)))
}
C1
# CODE VALUE
#1 c1 0.18
#2 c2 0.18
#3 c3 0.18