在R中填充空数据框

时间:2014-11-18 19:11:19

标签: r

我想创建一个空数据框,其中一列包含字符数据,一列包含数字数据,然后填充该数据框。

dat<-as.data.frame(cbind(character(3),vector("numeric",3)))
dat
for (i in 1:3)
{
  dat[i,1]<-as.character("f")
  dat[i,2]<-i
}

dat

结果如下。如你所见,我得到了所有NA:

> dat
    V1   V2
1 <NA> <NA>
2 <NA> <NA>
3 <NA> <NA>

你能告诉我怎么做吗?

3 个答案:

答案 0 :(得分:5)

我不知道你为什么要这样做,但这里有一些提示:

  1. 请勿使用as.data.frame(cbind(...))
  2. 请务必使用stringsAsFactors
  3. 在代码中使用空格(使事情更容易阅读)。
  4. 因此,您可以尝试:

    dat <- data.frame(character(3), numeric(3), stringsAsFactors = FALSE)
    dat
    #   character.3. numeric.3.
    # 1                       0
    # 2                       0
    # 3                       0
    
    for (i in 1:3)
      {
          dat[i,1]<-as.character("f")
          dat[i,2]<-i
      }
    
    dat
    #   character.3. numeric.3.
    # 1            f          1
    # 2            f          2
    # 3            f          3
    

答案 1 :(得分:1)

如何创建一个非常空的数据框并添加适当的数据呢?

dat <- as.data.frame(matrix(ncol=2, nrow=0))
for(i in 1:3) {
  dat[i,1] = as.character('f')
  dat[i,2] = i
}
dat
##  V1 V2
##1  f  1
##2  f  2
##3  f  3

答案 2 :(得分:0)

我想你想使用stingsAsFactors = F

dat<-as.data.frame(cbind(character(3),vector("numeric",3)), stringsAsFactors = F)