如何为另一个数据框中的元素指定列名

时间:2014-05-02 16:54:55

标签: r dataframe

我尝试使用以下代码来完成这个简单,非常基本的任务:

dd = data.frame("a","b")
dd
#   X.a. X.b.
# 1    a    b

dd2 = data.frame("","")
dd2
#   X.. X...1
# 1          

names(dd)[1]
# [1] "X.a."

dd2[1,1] <- names(dd)[1]
# Warning message:
# In `[<-.factor`(`*tmp*`, iseq, value = "X.a.") :
#   invalid factor level, NAs generated

dd2
#    X.. X...1
# 1 <NA>      

为什么只在dd2的[1,1]处输入“NA”?如何更正此错误?

1 个答案:

答案 0 :(得分:2)

当您将character值传递给data.frame时,它会转换为factor,只能采用有限的值。

使用它来避免这种行为

dd2 = data.frame("","", stringsAsFactors=FALSE)

您应该可以将其更改为您想要的任何内容。