使用提供的不同列名更改数据框值R?

时间:2017-10-18 06:51:16

标签: r function dataframe position assign

我有以下数据框:

     Column1 Default_Val
1          A           2
2          B           2
3          C           2
4          D           2
5          E           2
...
colnames: "Column1" "Default_Val"
rownames: "1"  "2"  "3"  "4"  "5"

此数据框是我的函数的一部分,此函数根据某些if更改默认值。

我想概括分配过程,因为我想支持此数据框的不同列名。

请告知如何在不依赖列名的情况下更改默认值?

这是我到目前为止所做的:

df[Column1 == "A","Default_Val"]
[1] 2
df[Column1 == "A","Default_Val"] = 2
df[Column1 == "A","Default_Val"]
[1] 1

我想要一些概括的内容:

t <- colnames(df)
df[t[1] == "A", t[2]] = 7

由于某种原因,它不起作用(每次发生这种情况我更喜欢Python :))。

请告知。

1 个答案:

答案 0 :(得分:1)

我认为这一定是直截了当的。请检查这是否解决了您的问题。

> df
  Column1 Default_val
1       A           1
2       B           3
3       A           4
4       C           1
5       D           4
> df[2][df[1] == 'A'] = 3
> df
  Column1 Default_val
1       A           3
2       B           3
3       A           3
4       C           1
5       D           4