如何将列表元素用作R中的因子名称?

时间:2017-06-29 19:29:55

标签: r

我有一个列表,例如mylist = c(&#34; A&#34;,&#34; B&#34;,&#34; C&#34;),我希望使用列表元素来提取R中数据帧的因子。< / p>

如果MyDataFrame有一个列名&#34; A&#34;,我可以将列/因子提取为MyDataFrame $ A.但是,

def parse(self, response):

    final_list = []

    item = WthItem()

    item['ship'] = response.xpath('//*[@id="shipName1"]/text()').extract()
    item['Itinerary'] = response.xpath('//*[@id="brochureName1"]/text()').extract()
    item['Price'] = response.xpath('//*[@id="interiorPrice1"]/text()').extract()
    item['PerNight'] = response.xpath('//*[@id="perNightinteriorPrice1"]/text()').extract()

    final_list.append(item)

    updated_list = []

    for item in final_list:
        for i in range(len(item['ship'])):
            sub_item = {}
            sub_item['entry'] = {}
            sub_item['entry']['ship'] = [item['ship'][i]]
            sub_item['entry']['Itinerary'] = [item['Itinerary'][i]]
            sub_item['entry']['Price'] = [item['Price'][i]]
            sub_item['entry']['PerNight'] = [item['PerNight'][i]]
            updated_list.append(sub_item)

            print sub_item

        return updated_list

失败。起初我认为这是因为mycolumn [3]是&#34; A&#34;而我需要没有报价的A美元。但是,使用

MyDataFrame$mylist[1] 

也失败了,大概是因为R查找字符串as.name(mylist [1])作为因子名称而不是处理函数(它给出的rror是&#34;尝试应用非函数&#34; ;设置x = as.name(mylist [1]),然后使用MyDataFrame $ x遇到同样的问题x不被视为变量。

有没有直接的方法来执行此操作,因为我需要遍历一长串列名称以调用感兴趣的因素。

1 个答案:

答案 0 :(得分:2)

试试这个:而不是$

MyDataFrame[,mylist[1]]