问题:存值失败,代码如下
for (i in (1:11))
{
cat('i :',i,'\n')
CO=unlist(strsplit(cluster[i,],split = '\t'))
H=length(CO)
for (j in (1:H))
cat('nrow(df) :',nrow(df),'\n')
df[nrow(df)+1,] <- c(CO[j],i)
}
存值结果明显不是我想要的:
问题原因:for循环内的内容要用{ }括起来,以下是正确的代码:
for (i in (1:11))
{
cat('i :',i,'\n')
CO=unlist(strsplit(cluster[i,],split = '\t'))
H=length(CO)
for (j in (1:H))
#cat('nrow(df) :',nrow(df),'\n')
df[nrow(df)+1,] <- c(CO[j],i)
}
或者更严谨的:
for (i in (1:11))
{
cat('i :',i,'\n')
CO=unlist(strsplit(MolTi_cluster[i,],split = '\t'))
H=length(CO)
for (j in (1:H))
{
cat('nrow(df) :',nrow(df),'\n')
df[nrow(df)+1,] <- c(CO[j],i)
}
}
良好的编码习惯应该不管循环体有几条语句,最好都加上花括号,以免引起错误。
python可以不加,R和python不要搞混了!!!