我需要访问向量内的索引(单个值)。我认为它会类似于:
v1 <- c(a,b,c,d,e)
v1[3] = h
但这似乎根本不起作用,其他人知道该怎么做吗?
[编辑]
好吧,回答你的一些问题,这是我想要实现的总体目标的大图:
MyDataR1 <- scan("myd1.txt",what='character')
MyDataR2 <- scan("myd2.txt",what='character')
MyDataR3 <- scan("myd3.txt",what='character')
MyDataR4 <- scan("myd4.txt",what='character')
AmpsR1 <- vector(mode='numeric',length=length(MyDataR1)-1)
AmpsR2 <- vector(mode='numeric',length=length(MyDataR2)-1)
AmpsR3 <- vector(mode='numeric',length=length(MyDataR3)-1)
AmpsR4 <- vector(mode='numeric',length=length(MyDataR4)-1)
AmpsR <- list(AmpsR1,AmpsR2,AmpsR3,AmpsR4)
DatesR <- list(DatesR1,DatesR2,DatesR3,DatesR4)
MyDataR <- list(MyDataR1,MyDataR2,MyDataR3,MyDataR4)
for (m in 1:length(MyDataR)){
mode(MyDataR[m])
length(MyDataR[m])
for (i in 2:length(MyDataR[m])){
temp <- unlist(strsplit(MyDataR[[m]][i],','))
DatesR[[m]][i-1] <- temp[2]
if (length(temp) == 7)
AmpsR[[m]][i-1] <- as.numeric(temp[6])
else
AmpsR[[m]][i-1] <- NA
end
(我一度改变了策略,使用“c()”函数而不是创建列表,但这也不起作用)。
因此,我尝试在列表中每个向量的每个值之间进行迭代并设置其值,但是当我在 for 循环部分后打印“AmpsR”时,所有值都是“0.000”。我知道它正在读取的数据是有效的,因为当我打印“MyDataR1”时,它填充了所有相关值。
有更好的方法来做到这一点的想法或建议吗?
感谢大家的意见。
[编辑] 对我在提出另一个问题时添加的类似帖子表示歉意,只是这个问题没有直接解决我遇到的问题。无论查看他们两个的答案,我现在都更好地了解了列表和向量的工作原理,并且我设法解决了我的问题(解决方案与安德里的回答非常相似)。
谢谢大家的帮助。