首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查两个表,如果其中一个有较少的行,则将行添加到

检查两个表,如果其中一个有较少的行,则将行添加到
EN

Stack Overflow用户
提问于 2013-06-12 15:40:59
回答 1查看 49关注 0票数 0

嗨,我正在一个文件夹中的许多文件上运行下面的r脚本

代码语言:javascript
复制
runForAll <- function(x) {
  emboss <- read.table(x,header=T)
  x <- table(emboss[,2],emboss[,3])/NROW(emboss[,3])
  y <- as.vector(t(x))
  nms <- expand.grid(colnames(x), rownames(x))
  names(y) <- paste( nms[,2],nms[,1],sep="")
  return(t(y))
}
my.files <- list.files(pattern = "emboss_\\d+\\.ss")
outputs <- lapply(my.files, FUN = runForAll)  

我注意到在x中,有些表的行数比其他表少1行。

正常x:

代码语言:javascript
复制
          C           E           H
  A 0.011152416 0.003717472 0.011152416
  C 0.026022305 0.033457249 0.003717472
  D 0.029739777 0.000000000 0.007434944
  E 0.044609665 0.011152416 0.003717472
  F 0.022304833 0.011152416 0.011152416
  G 0.026022305 0.003717472 0.007434944
  H 0.040892193 0.007434944 0.003717472
  I 0.040892193 0.022304833 0.022304833
  K 0.059479554 0.003717472 0.018587361
  L 0.018587361 0.007434944 0.066914498
  M 0.003717472 0.003717472 0.011152416
  N 0.052044610 0.003717472 0.007434944
  P 0.044609665 0.000000000 0.003717472
  Q 0.018587361 0.000000000 0.014869888
  R 0.026022305 0.007434944 0.011152416
  S 0.022304833 0.007434944 0.011152416
  T 0.029739777 0.014869888 0.014869888
  V 0.000000000 0.000000000 0.014869888
  W 0.011152416 0.007434944 0.007434944
  Y 0.018587361 0.029739777 0.022304833

X与缺失行:

代码语言:javascript
复制
           C           E           H
  A 0.030874786 0.012006861 0.049742710
  D 0.044596913 0.005145798 0.015437393
  E 0.029159520 0.008576329 0.024013722
  F 0.013722127 0.015437393 0.005145798
  G 0.051457976 0.003430532 0.008576329
  H 0.013722127 0.005145798 0.006861063
  I 0.024013722 0.015437393 0.013722127
  K 0.056603774 0.003430532 0.039451115
  L 0.025728988 0.024013722 0.039451115
  M 0.006861063 0.003430532 0.010291595
  N 0.029159520 0.001715266 0.008576329
  P 0.036020583 0.001715266 0.008576329
  Q 0.020583190 0.005145798 0.015437393
  R 0.037735849 0.008576329 0.020583190
  S 0.030874786 0.005145798 0.027444254
  T 0.034305317 0.006861063 0.017152659
  V 0.010291595 0.012006861 0.018867925
  W 0.006861063 0.000000000 0.010291595
  Y 0.005145798 0.008576329 0.006861063

我怎样才能查到:

X的每个实例都有20行,如果x的特定实例少于20行,则在一行中添加满为零的行。

如果一个x只有17行,则添加3行零。

非常感谢。

EN

回答 1

Stack Overflow用户

发布于 2013-06-12 15:49:20

这样就行了:

代码语言:javascript
复制
x = data.frame(A = c(1:10), B = 1, C = 1)
x[head(seq(nrow(x)+1, 21), -1),] = 0
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17069715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档