【问题标题】:Can one add a data.frame to itself?可以为自己添加一个 data.frame 吗?
【发布时间】:2011-09-20 00:27:33
【问题描述】:

我想向自身附加或添加一个 data.frame... 与添加的方式大致相同:

n <- n + t  

我有一个创建 data.frame 的函数。
我一直在使用:

g <- function(compareA,compareB) {
    for (i in 1:1000) {
        ttr <- t.test(compareA, compareA, var.equal = TRUE)
        tt_pvalues[i] <- ttr$p.value
    }
    name_tag <- paste(nameA, nameB, sep = "_Vs_")

    tt_titles <- data.frame(name_tag, tt_titles) 
    # character vector which I want to add to a list

    ALL_pvalues <- data.frame(tt_pvalues, ALL_pvalues) 
    # adding a numeric vector of values to a larger data.frame
}

cbind 在这里会更好吗?

【问题讨论】:

  • 如果没有额外的信息,这很难回答。你可以为 tag、tt_titles 和 ALL_pvalues 运行 str(tag) 吗?我怀疑你不想要 data.frame 而实际上想要 cbind()。
  • 我在原始问题中添加了更多信息。

标签: list r dataframe


【解决方案1】:

有两种方法可以按列“添加或追加”数据到 data.frame,另一种方法按行追加。假设tag 是data.frame,tt_titles 是一个与“tag”行长度相同的向量,那么这两种方法都可以:

 tag <- cbind(tag, tt_titles) 
# tt_titles could also be a data.frame with same number of rows

或者:

tag[["tt_titles"]] <- tt_titles

现在假设我们有两个具有相同 column.names 的 data.frame:

bigger.df <- rbind(tag, tag2)

【讨论】:

  • 语句#1 的顺序重要吗?例如:tag
  • @oaxacamatt。它会影响列的顺序。
猜你喜欢
  • 2015-12-10
  • 2023-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 2016-05-01
相关资源
最近更新 更多