举个例子,我R中导入了一个较大的行列数据,但是我只需要部分指定列,例如我只需要第1,3,5,7,9,11,13,15,17列(当然我需要的不仅仅这么多),并且将调出来的列数据重新生成一个行列数据表,该怎么写这个for循环,谢谢
不需要for循环呀,一句话搞定:newdata
olddata[,c(1,3,5,7,9,11,13,15,17)]
我的意思是我要提取很多这样的列,不可能每一列都手动输进去,所以必须得用一个for循环
解答:newdata
意思是这里面icol是变的?
col.l
newdata
for (icol in 1:3) {
newdata[[icol]]
olddata[,col.l[[icol]]]
}
谢谢,你写的代码好像跟我问的不符合,我的意思很简单,就是从现有数据框z中提取很多列(列是有规律的,符合2+4i,i
num
data[,num]
照你的意思,这样行吗?
newdata
我主要想用for循环,下面的方法只能出现最后一列,前面的列都被后面的覆盖了,所以只出现了最走一列
cols
newdata
length(cols))
for (icol in 1:length(cols)) {
newdata[,icol]
olddata[,cols[icol]]
}
|