R语言中,x是6列的矩阵,要求每一横行最大值大于0的,输出到新的矩阵y,麻烦您帮我想想,R的初学者

Python012

R语言中,x是6列的矩阵,要求每一横行最大值大于0的,输出到新的矩阵y,麻烦您帮我想想,R的初学者,第1张

你好!

#y是x的拷贝

y

<-

x

#取得x的行数

l

<-

dim(x)[1]

#遍历每一行,如果该行最大值小于10,则从y中去除

for(

i

in

1

:

l)

{

if(

max(y[i,])

<

10)

y

<-

y[-i,]

}

如有疑问,请追问。

#头两行是读取csv文件,逗号分隔值 comma seperated value,是一种简化的excel文件

OrgData=read.csv("DownlinkPower_train.csv",header=T)

TestData=read.csv("DownlinkPower_test.csv",header=T)

#第四第五行是选取子集subset(),从 OrgData里选出 OrgData[,1] >0 第一列为正的那些行。

OrgData = subset(OrgData, OrgData[,1] >0)

TestData = subset(TestData, TestData[,1] >0)

#第六行是把data的列名字赋给OrgData_colname

OrgData_colname = colnames(OrgData)

OrgData = cbind(OrgData,1) //cbind 是合并矩阵? cbind是column bind就是横着粘在一起

竖着粘在一起是rbind,此处cbind(OrgData,1)就是在OrgData的最后加一列全是1

#重新给列命名,c()是字符串的向量,相当于给最后一列命名"intercepts"

colnames(OrgData) = c(OrgData_colname, "intercepts")

#as.matrix相当于c++的cast 强行转换格式,此处强行转换成矩阵格式

#dim(OrgData)是输出OrgData的行数和列数,[2]引用的是列,2:列数就是取OrgData中2到最后一列,其实此处可以用ncol(OrgData)来找列数

x1 = as.matrix(OrgData[,2:dim(OrgData)[2]])

#把OrgData的第一列给y1

y1 = OrgData[,1]