我有一组由此代码给出的数据:
mansions <- structure(list(紫微垣 = c("北極", "太子", "帝", "庶子",
"後宮", "天樞[北極]", "四輔", "勾陳", "天皇大帝",
"天柱", "御女", "女史", "柱史", "尚書", "天床", "大理",
"陰德", "六甲", "五帝內座", "華蓋", "杠", "紫微左垣",
"左樞", "上宰", "少宰", "上弼", "少弼", "上衛", "少衛",
"少丞", "紫微右垣", "右樞", "少尉", "上輔", "少輔",
"上衛", "少衛", "上丞", "天乙(天一)", "太乙(太一)",
"內廚", "北斗", "天樞", "天璇", "天機", "天權", "玉衡",
"開陽", "搖光", "輔", "天槍", "玄戈", "三公", "相",
"天理", "太陽守", "太尊", "天牢", "勢", "文昌", "內階",
"三師", "八榖", "傳舍", "天廚", "天棓"), 太微垣 = c("五帝座",
"太子", "從官", "幸臣", "五諸侯", "九卿", "三公",
"內屏", "太微左垣", "左執法", "東上相", "東次相",
"東次將", "東上將", "太微右垣", "右執法", "西上將",
"西次將", "西次相", "西上相", "郎將", "郎位", "常陳",
"三台", "上台", "中台", "下台", "虎賁", "少微", "長垣",
"靈台", "明堂", "謁者"), 天市垣 = c("帝座", "候",
"宦者", "斗[天市]", "斛", "列肆", "車肆", "市樓",
"宗正", "宗人", "宗", "帛度", "屠肆", "天市左垣",
"魏", "趙", "九河", "中山", "齊", "吳越", "徐", "東海",
"燕", "南海", "宋", "天市右垣", "河中", "河間", "晉",
"鄭", "周", "秦", "蜀", "巴", "梁", "楚", "韓", "天紀",
"女床", "貫索", "七公"), 角宿 = c("角", "平道", "天田",
"周鼎", "進賢", "天門", "平", "庫樓", "柱", "衡",
"南門"), 亢宿 = c("亢", "大角", "左攝提", "右攝提",
"折威", "頓頑", "陽門"), 氐宿 = c("氐", "亢池", "帝席",
"梗河", "招搖", "天乳", "天輻", "陣車", "車騎", "騎陣將軍",
"騎官"), 房宿 = c("房", "鉤鈐", "鍵閉", "罰", "東咸",
"西咸", "日", "從官"), 心宿 = c("心", "積卒"), 尾宿 = c("尾",
"神宮", "天江", "傳說", "魚", "龜"), 箕宿 = c("箕",
"糠", "杵"), 斗宿 = c("斗", "天龠", "天弁", "建", "天雞",
"狗", "狗國", "天淵", "農丈人", "鱉"), 牛宿 = c("牛",
"天桴", "河鼓", "左旗", "右旗", "織女", "漸臺", "輦道",
"羅堰", "天田", "九坎"), 女宿 = c("女", "離珠", "敗瓜",
"瓠瓜", "天津", "奚仲", "扶筐", "十二國", "周", "秦",
"代", "趙", "越", "齊", "楚", "鄭", "魏", "韓", "晉",
"燕"), 虛宿 = c("虛", "司命", "司祿", "司危", "司非",
"哭", "泣", "璃瑜", "天壘城", "敗臼"), 危宿 = c("危",
"墳墓", "蓋屋", "虛梁", "天錢", "人", "杵", "臼",
"車府", "造父", "天鉤"), 室宿 = c("室", "離宮", "螣蛇",
"雷電", "土公吏", "壘壁陣", "羽林軍", "天綱", "北落師門",
"鈇鉞", "八魁"), 壁宿 = c("壁", "天廄", "土公", "霹靂",
"雲雨", "鈇鑕"), 奎宿 = c("奎", "王良", "策", "附路",
"軍南門", "閣道", "外屏", "天溷", "土司空"), 婁宿 = c("婁",
"天大將軍", "左更", "右更", "天倉", "天庾"), 胃宿 = c("胃",
"大陵", "積尸", "天船", "積水", "天廩", "天囷"),
昴宿 = c("昴", "天阿", "月", "卷舌", "天讒", "礪石",
"天陰", "芻蒿", "天苑"), 畢宿 = c("畢", "附耳",
"天街", "天高", "諸王", "五車", "柱", "威池",
"天潢", "天關", "天節", "九州殊口", "參旗", "九斿",
"天園"), 觜宿 = c("觜", "司怪", "座旗"), 參宿 = c("參",
"伐", "玉井", "軍井", "屏", "廁", "屎"), 井宿 = c("井",
"鉞", "水府", "天樽", "五諸侯", "北河", "積水",
"積薪", "水位", "南河", "四瀆", "闕丘", "軍市",
"野雞", "天狼", "丈人", "子", "孫", "老人", "弧矢"
), 鬼宿 = c("鬼", "積尸", "爟", "外廚", "天記",
"天狗", "天社"), 柳宿 = c("柳", "酒旗"), 星宿 = c("星",
"天相", "天稷", "軒轅", "御女", "內平"), 張宿 = c("張",
"天廟"), 翼宿 = c("翼", "東甌"), 軫宿 = c("軫",
"左轄", "右轄", "長沙", "青丘", "軍門", "土司空",
"器府"), 南極星區 = c("海山", "十字架", "馬尾",
"馬腹", "蜜蜂", "三角形", "異雀", "孔雀", "波斯",
"蛇尾", "蛇腹", "蛇首", "鳥喙", "鶴", "火鳥",
"水委", "附白", "夾白", "金魚", "海石", "飛魚",
"南船", "小斗")), .Names = c("紫微垣", "太微垣",
"天市垣", "角宿", "亢宿", "氐宿", "房宿", "心宿",
"尾宿", "箕宿", "斗宿", "牛宿", "女宿", "虛宿", "危宿",
"室宿", "壁宿", "奎宿", "婁宿", "胃宿", "昴宿", "畢宿",
"觜宿", "參宿", "井宿", "鬼宿", "柳宿", "星宿", "張宿",
"翼宿", "軫宿", "南極星區"))
要从上面的列表中删除的另一个嵌套元素列表。
not.xingguan <- structure(list(V1 = c("太子", "帝", "庶子", "後宮", "天樞[北極]",
+ "杠", "左樞", "上宰", "少宰", "上弼", "少弼", "上衛",
+ "少衛", "少丞", "右樞", "少尉", "上輔", "少輔", "上衛",
+ "少衛", "上丞", "天樞", "天璇", "天機", "天權", "玉衡",
+ "開陽", "搖光", "輔", "左執法", "東上相", "東次相",
+ "東次將", "東上將", "右執法", "西上將", "西次將",
+ "西次相", "西上相", "上台", "中台", "下台", "魏",
+ "趙", "九河", "中山", "齊", "吳越", "徐", "東海",
+ "燕", "南海", "宋河中", "河間", "晉", "鄭", "周",
+ "秦", "蜀", "巴", "梁", "楚", "韓", "鉤鈐", "神宮",
+ "周", "秦", "代", "趙", "越", "齊", "楚", "鄭", "魏",
+ "韓", "晉", "燕", "墳墓", "離宮", "附耳", "伐", "鉞",
+ "御女", "左轄", "右轄", "長沙")), .Names = "V1")
我尝试使用以下代码执行此操作,但失败了:
tmp <- as.relistable(mansions)
tmp <- unlist(tmp)
tmp <- tmp[-which(tmp %in% not.xingguan$V1)]
mansions <- relist(tmp)
#Error in relist(tmp) :
# The 'flesh' argument does not contain a skeleton attribute.
# Either ensure you unlist a relistable object, or specify the skeleton separately.
问题似乎在于我从tmp
删除了一些项目,这些项目以某种方式删除了tmp
中存储的初始as.relistable(mansions)
的骨架数据。
我想要做的是恢复原始列表mansions
,而不使用not.xingguan
中找到的元素。
这个问题有解决方法吗?
答案 0 :(得分:3)
一种方法可能是常规旧lapply()
lapply(mansions, function(x) x[!x %in% not.xingguan$V1])
很抱歉,如果这不是您期望的那种输出,我对陌生人物有点盲目