独特功能:在R

时间:2019-07-01 21:20:55

标签: r loops

我目前在我的R代码中处于循环中,我想使用以下代码:

distinct.values <- unique(SQL_Table$column.names2[for.num])

column.names2看起来像这样

column.names2
[1] "plan"           "gender"         "marital_status" "acceleration"   "extension"     
[6] "inflation"

根据for.num,我希望在$之后有一个不同的变量。

示例:  当for.num = 1时。

我希望将distinct.values设置为unique(SQL_Table$plan)

for.num = 2时。

我希望将distinct.values设置为unique(SQL_Table$gender)

以此类推...

我该怎么做?

1 个答案:

答案 0 :(得分:1)

要扩大我对原始问题的评论,有几种不同的方法可以访问数据框的列。

my_df$column_name

使用$运算符时,在R脚本中将“ column_name”指定为文字标记。请注意,由于列名未加引号,因此此方法不允许变量替换。

my_df[["column_name"]]

使用[[ ]]运算符时,应使用字符串(或字符串向量)。在这种情况下,允许变量替换,因此以下内容有效:

my_col <- "column_name"
my_df[[my_col]]

这相当于my_df$column_name

因此您的代码可以修改为:

unique(SQL_Table[[column.names2[for.num]]])