我想创建一个空数据框,其中一列包含字符数据,一列包含数字数据,然后填充该数据框。
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>
你能告诉我怎么做吗?
答案 0 :(得分:5)
我不知道你为什么要这样做,但这里有一些提示:
as.data.frame(cbind(...))
stringsAsFactors
因此,您可以尝试:
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)