连接R中的数据帧值未按预期工作
考虑以下代码:连接R中的数据帧值未按预期工作,r,dataframe,R,Dataframe,考虑以下代码: > a <- data.frame(name=c('a','b','c')) > b <- data.frame(type=a$name[1]) > c <- data.frame(type=c(a$name[1],a$name[2])) > b type 1 a > c type 1 1 2 2 >a b c b 类型 1A >c 类型 1 1 2 2 为什么b$type的值为a,即实际分
> a <- data.frame(name=c('a','b','c'))
> b <- data.frame(type=a$name[1])
> c <- data.frame(type=c(a$name[1],a$name[2]))
> b
type
1 a
> c
type
1 1
2 2
>a b c b
类型
1A
>c
类型
1 1
2 2
为什么b$type
的值为a
,即实际分配的值,而c$type
则取索引号(1
和2
)的值?嗯,$name是一个因子,而不是一个字符向量,你不能将这样的因子串联起来(因为c
函数目前不处理因子)。因子实际上是带有levels
属性(和类)的整数向量,因此c
函数只使用整数值。这可能被认为是一个bug
组合系数的一种方法是使用取消列出
,该方法具有针对这种情况的特殊代码:
c <- data.frame(type=unlist(list(a$name[1], a$name[2])))
c好吧,$name是一个因子,而不是一个字符向量,你不能将这样的因子串联起来(因为c
函数目前不处理因子)。因子实际上是带有levels
属性(和一个类)的整数向量,因此c
函数只使用整数值。这可能被认为是一个bug
组合系数的一种方法是使用取消列出
,该方法具有针对这种情况的特殊代码:
c <- data.frame(type=unlist(list(a$name[1], a$name[2])))
c
a <- data.frame(name=c('a','b','c'), stringsAsFactors=FALSE)
c <- data.frame(type=c(a$name[1],a$name[2]))