【问题标题】:Assigning to dataframe changes character string to list in R分配给数据框将字符串更改为 R 中的列表
【发布时间】:2013-03-02 05:20:08
【问题描述】:

我正在尝试使用从第二个数据帧中提取的字符串填充数据帧列。但是,当我尝试这样做时,列中的新条目会变成列表:

for (i in nyc_districts$SUBWAY_STOP){
  nyc_districts$SUBWAY_STOP[i]<-substops$V3[[i]]
}

class(substops$V3[[1]])
[1] "character"

class(nyc_districts$SUBWAY_STOP[1])
[1] "list"

发生了什么事?如何将新条目转换为字符串? 非常感谢!

【问题讨论】:

标签: r list types dataframe


【解决方案1】:

您对[[[ 的索引感到困惑。

引用帮助

递归(类列表)对象

[ 索引类似于原子向量并选择一个列表 指定的元素。

[[ 和 $ 都选择列表中的单个元素。

所以区别

x <- list(a = 1:4, b= 1:2)
class(x[1])
## [1] "list"
 class(x[[1]])
## [1] "integer"

在不知道您的数据是什么样子的情况下,我无法就您的确切问题提出更好的方法,只能说会有更好的方法。

【讨论】:

  • 谢谢mnel。为了澄清,我正在寻找的是一种防止列条目成为列表的方法。 (我最终试图导出到 shapefile,条目是列表的事实正在生成错误“数据框包含不受支持的类“列表”的列”)
  • @user2167839 - 编辑您的问题以包含一个可重现的示例,目前for(i in nyc_districts$SUBWAY_STOP){nyc_districts$SUBWAY_STOP[i]... 没有按照您的想法进行操作。也许你想要for( i in seq_along( nyc_districts$SUBWAY_STOP)){...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-18
  • 2022-01-15
  • 1970-01-01
相关资源
最近更新 更多