我在R中有一个名为final的数据框。
final
name num status
1 romal 1 <NA>
2 romal2 2 <NA>
3 romal3 3 1
4 romal4 4 <NA>
5 romal5 1 <NA>
这是我的命令,
y <- as.integer(2)
final[2,"status"] <- final [y,"name"]
final
name num status
1 romal 1 <NA>
2 romal2 2 2
3 romal3 3 1
4 romal4 4 <NA>
5 romal5 1 <NA>
我希望我的最终[2,“状态”]为“romal2”
我该怎么办? 我将只能以y整数访问行。
答案 0 :(得分:1)
将其转换为角色。
final[2,"status"]<-as.character(final[y,"name"])
答案 1 :(得分:1)
<system.web>
<compilation targetFramework="4.7" debug="true" optimizeCompilations="false">
</system.web>
data.frame中的name
和status
列似乎都属于factor
类型。将一个因素复制到另一个因素可能会导致final
,并且值将强制转换为warning
。
方法:更改NA
类型的两列,然后尝试操作。
character
数据:强>
library(dplyr)
final <- mutate_if(final,is.factor,as.character)
y <- as.integer(2)
final[2,"status"] <- final [y,"name"]
final
# name num status
# 1 romal 1 <NA>
# 2 romal2 2 romal2
# 3 romal3 3 1
# 4 romal4 4 <NA>
# 5 romal5 1 <NA>