2018-10-28
阅读量:
771
关于R程序的问题
data1 <- data.frame(a= 1: 3,b= 3: 1)
aa1[aa1[,2]>0,2]<-9
上面这段程序,讲b字段 >0的值替换为9,但是不明白为啥这样,第一步r判断 aa1[,2]>0,对b字段的所有结果进行是否大于0判断,结果应该是或者否,第二部aa1[是或者否,2] <-9,难道行变量为是的就替换成9?感觉行不通啊?定位数据框中的值,[] 里能出现逻辑值么?
data <- data.frame(a = 1:10, b = 10:1)
data[data$b > 5, 2] <- 9
稍微改了下数据,意思一样。
第2行本质是从新赋值,[ ]里就是索引,对于二维数据,就是[行标,列标];
代码的意思是data的第2列中,值大于5的元素从新赋值为9,列标是固定的2,即第2列,行标通过逻辑判断筛选出“第2列”中大于5的行。
0.0000
0
1
关注作者
收藏
评论(0)
发表评论
暂无数据
推荐帖子
0条评论
0条评论
1条评论