全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
38281 9
2017-03-08
请教大家一个问题,数据框data有n列数据(k1,k2,...,kn),如果将其中的某几列数据加总,并生成新的一列数据k(n+1),在R中如何实现?行不变。例如, t.png ,现在希望将k1,k4和k5列数据加总,并生产新的一列(k7), nt.png 使得k7的第1行等于k1,k4,k5第1 行数据之和,k7的第2行等于k1,k4,k5第2行数据之和...如何实现?谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2017-3-8 17:25:04
是data.frame的格式,可以写成:
复制代码

二维码

扫码加我 拉你入群

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

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

2017-3-8 18:33:55
colinxf 发表于 2017-3-8 17:25
是data.frame的格式,可以写成:
谢谢您的及时解答!刚才试了一下,您给的方法基本是可行的,不过对于有缺失值的数据好像需要调整一下。在您给的方法中,好像还得定义一下na.rm=T,但我不知道这个定义加在哪个地方。我刚尝试用了另一个方法,apply函数,data$k7<-apply(data[,c(1,4,5),1,sum,na.rm=T),这样就可以把缺失值问题解决了。
再次感谢您的及时解答!
二维码

扫码加我 拉你入群

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

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

2017-3-9 13:27:36
嗯,是的。apply一类的函数(lapply,sapply, vapply)在对数据(data.frame, list)进行批量处理的时候挺好用的
二维码

扫码加我 拉你入群

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

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

2017-3-9 18:29:51
苦丁冰茶 发表于 2017-3-8 18:33
谢谢您的及时解答!刚才试了一下,您给的方法基本是可行的,不过对于有缺失值的数据好像需要调整一下。在 ...
其中的参数错了,1在矩阵或数据框中表示的是行,2才是表示列
二维码

扫码加我 拉你入群

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

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

2017-3-9 19:30:49
> a=list(k1=1:5,k2=2:6,k3=3:7)
> a=data.frame(k1=1:5,k2=2:6,k3=3:7)
> a
  k1 k2 k3
1  1  2  3
2  2  3  4
3  3  4  5
4  4  5  6
5  5  6  7
> a(论坛打美元符号会出错)k4=a(论坛打美元符号会出错)k1+a(论坛打美元符号会出错)k2
> a
  k1 k2 k3 k4
1  1  2  3  3
2  2  3  4  5
3  3  4  5  7
4  4  5  6  9
5  5  6  7 11
>
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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