我目前在我的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)
以此类推...
我该怎么做?
答案 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]]])