如何在R语言中将两列数据转换为指定格式的列表?
解决方法
首先,你创建数据框时,因为重复使用列名name,R会自动将第二列重命名为name.1,这是R处理重复列名的默认行为。
你之前用unclass(df)的问题在于,这个函数会把数据框转换成由列向量组成的列表,而非保留完整数据框结构赋值给列表元素。要实现你想要的效果,直接把完整数据框赋值给列表的name元素即可:
完整代码示例
# 初始化列表和数据框 vol = list() df = data.frame(name=c(5,2,15,4), name=c(2,0,1,2)) # 正确赋值:将数据框作为vol的name元素 vol$name = df # 查看结果 vol
输出结果
$name name name.1 1 5 2 2 2 0 3 15 1 4 4 2
如果偏好索引方式赋值,也可以写成vol[["name"]] = df,效果和vol$name = df完全一致。
内容的提问来源于stack exchange,提问作者Tpellirn
相关产品推荐
相关产品推荐

