楼主: 风之将尽
1233 6

[问答] 矩阵列操作的问题 [推广有奖]

  • 4关注
  • 0粉丝

已卖:2份资源

本科生

82%

还不是VIP/贵宾

-

威望
0
论坛币
2 个
通用积分
0.0001
学术水平
0 点
热心指数
3 点
信用等级
0 点
经验
2058 点
帖子
96
精华
0
在线时间
57 小时
注册时间
2015-5-14
最后登录
2022-1-23

楼主
风之将尽 学生认证  发表于 2017-3-12 16:16:44 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有这样一个矩阵
           Population Income Illiteracy Life Exp Murder HS Grad Frost   Area
Alabama          3615   3624        2.1    69.05   15.1    41.3    20  50708
Alaska            365   6315        1.5    69.31   11.3    66.7   152 566432
Arizona          2212   4530        1.8    70.55    7.8    58.1    15 113417
Arkansas         2110   3378        1.9    70.66   10.1    39.9    65  51945
California      21198   5114        1.1    71.71   10.3    62.6    20 156361
Colorado         2541   4884        0.7    72.06    6.8    63.9   166 103766
比如说我看一下其余项和预期寿命和收入的相关情况
我想是这样来做
t<-c("Life Exp","Income")
y<-state.x77[,t]
x<-state.x77[,!=t]
cor(x,y)
但是好像x的赋值中!=t并不好使
Error: unexpected '!=' in "x<-state.x77[,!="
其实我的意思就是想除了LE ,I的两列赋给X,请问正确的应该是什么样呢?
二维码

扫码加我 拉你入群

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

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

关键词:Population california Arkansas Colorado Literacy

沙发
风之将尽 学生认证  发表于 2017-3-12 16:28:09
y<-state.x77[,t]
x1<-colnames(stats)
x1
x<-stats[,x1!=c("Life Exp","Income")]
head(x)
> head(x)
           Population Illiteracy Life Exp Murder HS Grad
Alabama          3615        2.1     69.0   15.1    41.3
Alaska            365        1.5     69.3   11.3    66.7
Arizona          2212        1.8     70.5    7.8    58.1
Arkansas         2110        1.9     70.7   10.1    39.9
California      21198        1.1     71.7   10.3    62.6
Colorado         2541        0.7     72.1    6.8    63.9
想了办法还是没完全解决,不知道为啥Life Exp就是没去掉。。。。。

藤椅
jiangbeilu 学生认证  发表于 2017-3-12 17:06:24
在R里面,变量命名是不能有空格的。
“Life Exp”改成"Life.Exp",你再试试看。

板凳
风之将尽 学生认证  发表于 2017-3-12 18:13:20
jiangbeilu 发表于 2017-3-12 17:06
在R里面,变量命名是不能有空格的。
“Life Exp”改成"Life.Exp",你再试试看。
我试了一下除了Life.Exp别的列名都可以

报纸
风之将尽 学生认证  发表于 2017-3-12 18:35:09
jiangbeilu 发表于 2017-3-12 17:06
在R里面,变量命名是不能有空格的。
“Life Exp”改成"Life.Exp",你再试试看。
这列有毒啊= =
head(state.x77)
colnames(state.x77)[4]<-"life.Exp"
t<-c("life.Exp","Income")
y<-state.x77[,t]
x<-state.x77[,colnames(state.x77)!=t]
x
> t<-c("life.Exp","Income")
> y<-state.x77[,t]
> x<-state.x77[,colnames(state.x77)!=t]
> x
               Population Illiteracy life.Exp Murder HS Grad Frost   Area
Alabama              3615        2.1     69.0   15.1    41.3    20  50708
Alaska                365        1.5     69.3   11.3    66.7   152 566432
Arizona              2212        1.8     70.5    7.8    58.1    15 113417
Arkansas             2110        1.9     70.7   10.1    39.9    65  51945
还是不行这个life.Exp始终坚挺在上面

地板
jiangbeilu 学生认证  发表于 2017-3-12 19:02:06
state.x77[,!colnames(state.x77) %in% t]
用%in%来进行筛选吧。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
风之将尽 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

7
cheetahfly 在职认证  发表于 2017-3-12 21:03:23
楼上正解,两个向量之间不能用`==`或者`!=`来判断,
用%in%或者setdiff()才是恰当的。
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
风之将尽 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 08:01