在R中安排数据处理时,通常需要完成一些简单的转换。
请考虑以下事项:
some_set
someset$example1
,someset$example2
,...,someset$exampleN
直观地说,使用这样的东西是有道理的:
for (i in 1:N ) {
doSomething( get(paste0("someset$example",i,sep='')) )
}
然而,这会产生:object 'someset$example1' not found
当然,在控制台中键入someset$example1
会产生正确的值。
乞求问题,如果get(str)
是我们访问对象的方式,那么我们如何访问对象的字段?
答案 0 :(得分:1)
尝试[
或[[
而不是$
for(i in 1:N){ print(mean(someset[[paste0('example', i)]]))}
#[1] 3
#[1] 8
#[1] 13
注意:根据问题,您可能不需要for
循环。对于上述情况,使用colMeans
会更容易。
如果'someset'是一个字符串
Var <- "someset"
for(i in 1:N){ print(mean(get(Var)[[paste0('example', i)]]))}
#[1] 3
#[1] 8
#[1] 13
someset <- data.frame(example1=1:5, example2=6:10, example3=11:15)
N <- ncol(someset)