如何使用另一个数据帧在R中的数据帧中分配字符串

时间:2018-04-19 23:27:45

标签: r dataframe

我在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整数访问行。

2 个答案:

答案 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中的namestatus列似乎都属于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>