全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
6233 8
2013-01-23
复制代码

上述代码太正常了,可是您有没有想过:
复制代码

的结果是什么?
结果是
[1]  70  73  77  90 102为什么不是77?
再试一下
复制代码

结果
Error in `[.data.frame`(nleast, nleast$teams == "WSN") :   undefined columns selected再来一个
复制代码

结果是
teams1   PHI2   NYM3   FLA4   ATL5   WSN
复制代码

结果是Error in `[.data.frame`(nleast, c(0, 0, 4)) : undefined columns selected 各位朋友,来讨论一下.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-1-23 12:40:00
很简单,你少了个逗号
nleast[nleast$teams=="FLA", ]$l 就可以了
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-23 12:50:31
不是很懂~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-23 12:51:36
ntsean 发表于 2013-1-23 12:40
很简单,你少了个逗号
nleast[nleast$teams=="FLA", ]$l 就可以了
多谢,我是故意少写一个逗号的,看看不写一个逗号为什么会出现这样的结果.
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-23 12:55:13
kaifengedu 发表于 2013-1-23 12:51
多谢,我是故意少写一个逗号的,看看不写一个逗号为什么会出现这样的结果.
那就当做vector了,似乎
这样 nleast$teams=="FLA" 因为长度不同会自动recycle,这样就会选出多个来
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-23 13:30:06
我的理解是:定位 找行号 与列号
1、nleast$l[nleast$teams=="FLA"] 是先找得列nleast$l,此时数据变为了vector,可下标[c(F,T...)]或[c(1,2..)]
2、ntsean 写的 nleast[nleast$teams=="FLA", ]$l 是先找到是行 nleast[nleast$steams=="FLA",], 此时数据仍为data.frame, 非vector(有逗号的),再$l,定位。

nleast[nleast$teams=="FLA"]$l中,nleast[nleast$teams=="FLA"]找的是 列,数据仍为 data.frame,
但是:nleast  只有3个列, 那么c(F,F,T, 后面都是F), 是能够有结果, 但c(F,F,F,  后面有T的话)就超出了这个nelast 列范围了,就出错了。


nleast[c(0,0,1)]  是找到列1,
  下标为0,就是空的
nleast 列的下标为 1,2,3  超出这个范围是不行的

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群