网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
12月26日
漏签
0
天
r语言吧
关注:
24,417
贴子:
56,181
看贴
图片
吧主推荐
游戏
6
回复贴,共
1
页
<<返回r语言吧
>0< 加载中...
求助,如果按照规则从数据框中提取数据
取消只看楼主
收藏
回复
呢喃的_歌声
青江
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
当前有数据如下:
我想先按照行再按照列依次获取值,如果是NA就不取,如果取得值是重复的,最后需要知道每个值右边连续有几个NA值(如果右边不是NA就是0),重复的值有多少个。
呢喃的_歌声
青江
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
拿前六条具体来说:
求问r怎么写
呢喃的_歌声
青江
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
补充一下,上面漏的,如果取值是重复的,也不取。
呢喃的_歌声
青江
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我想按照命名规则,对hmtl表格的表头横向和纵向合并单元格。设想如下:
names(data) <- c("日期","预估亏损总金额","人工赔付_赔付记录数","人工赔付_预赔付金额","人工赔付_已赔付金额",
"人工赔付_预估实际赔付","特权码_发放码数","特权码_预估使用金额","追加支付_订单数","追加支付_预估_追加支付总金额",
"追加支付_预估_担保金额","追加支付_预估_亏损金额")
通过名字中加入“_”区分表头的行数,名字中含有最多“_"的就是表头的最大行数。向下合并的规则就是名字按照”_“分割后(下面代码的xx),右边一列是NA的NA个数加1.名称中"_"前面相同的名称,例如”人工赔付“重复出现的次数就是需要横向合并的数量。
if (length(grep('_',names(data)))>0 ) {
e2[1:col]<- ""
for (i in 1:length(names(data)) ){e2[i]<- sum(attr(gregexpr("_", names(data))[[i]],"match.length"))}
e2[e2==-1]<- 0
max_tableheadcol <- as.numeric(max(e2)) +1 #最大表头行数
zz<- strsplit(as.character(e[,1]),"_", fixed = TRUE)
xx<- matrix(rep(NA,col*max_tableheadcol),nrow=col,ncol=max_tableheadcol)
kk<- NULL
kk <- as.data.frame(kk)
for (i in 1:col) {
for (k in 1:max_tableheadcol) {
xx[i,k]<-zz[[i]][k]
kk[(k-1)*col+i,1]<-zz[[i]][k]
kk[(k-1)*col+i,2]<-k
if(k<= e2[i]) {kk[(k-1)*col+i,3]<-1 }else {
kk[(k-1)*col+i,3]<- max_tableheadcol-k+1 }
}
}
yy<- as.data.frame(unique(na.omit(kk)));names(yy)<- c("a","b","c")
xy<- as.data.frame(table(kk[,1]));names(xy)<- c("a","d")
xx<- as.data.frame(xx)
y <- merge(yy,xy,by="a",sort=F)
}
上面的代码已经实现了我需要的数据 ,你有没有更好的方法
呢喃的_歌声
青江
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个是就是我想自动生成的
呢喃的_歌声
青江
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
#求每行的“_”数
for (i in 1:length(names(data2)) ){e2[i]<- sum(attr(gregexpr("_", names(data2))[[i]],"match.length"))}
e2[e2==-1]<- 0
#按照“_”分裂
zz<- strsplit(as.character(names(data)),"_", fixed = TRUE)
呢喃的_歌声
青江
13
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
得到zz 如下:
> zz
[[1]]
[1] "日期"
[[2]]
[1] "实际赔付总金额"
[[3]]
[1] "人工赔付" "工单数"
[[4]]
[1] "人工赔付" "赔付金额"
[[5]]
[1] "人工赔付" "赔付占比"
[[6]]
[1] "特权码" "订单数"
[[7]]
[1] "特权码" "赔付金额"
[[8]]
[1] "特权码" "赔付占比"
[[9]]
[1] "追加支付" "订单数"
[[10]]
[1] "追加支付" "赔付金额"
[[11]]
[1] "追加支付" "赔付占比"
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示