我有以下数据对象。对象名称是seoul1
V3 V4 V5 V6 V7 V8 V9
531 789 894 1,447 1,202 1,186 501
typeof = list, class = data.frame
我想将这些数据转换为由整数或双重
组成的原子数据我使用'for'代码
for(i in 1:7){
h[i]<-as.numeric(seoul1[2,][[i]])
}
但结果如下
for(i in 1:7){
h[i]<-as.numeric(seoul1[2,][[i]])
}
Warning messages:
1: NAs introduced by coercion
2: NAs introduced by coercion
3: NAs introduced by coercion
print(h)
[1] 531 789 894 NA NA NA 501
为什么会发生这种错误,我不知道
答案 0 :(得分:3)
我们可以使用unlist
创建vector
,然后在移除numeric
后转换为,
。
as.numeric(sub(",", "", unlist(seoul1[2,], use.names=FALSE)))
#[1] 531 789 894 1447 1202 1186 501
在OP的示例数据集中,有一些像l,447, 1,202, 1,186
这样的元素将是&#39;字符&#39;元素以及当我们转换为&#39;数字&#39;使用as.numeric
时,由于,
,它会强制转换为NA。没有error
消息。友好warning
,
移除sub
,然后执行as.numeric
。
注意:如果元素中有多个,
,请使用gsub
代替sub