微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的 R 数据帧没有在 ifelse 语句中被复制?

如何解决为什么我的 R 数据帧没有在 ifelse 语句中被复制?

我有一个包含 875000 行的数据框 tas_i,如下所示:

    head(tas_i)

  x tas year month_no
1 1  NA 1884        1
2 2  NA 1884        1
3 3  NA 1884        1
4 4  NA 1884        1
5 5  NA 1884        1
6 6  NA 1884        1

我有一个相对简单的 ifelse 语句,但它不起作用(见下文)。我究竟做错了什么?我的对象 tas 最终成为数字的“列表”而不是“数据框”。

> i
[1] 1
> j
[1] 1884
> tas <- ifelse(i==1 & j==1884,tas_i,rbind(tas,tas_i))
> nrow(tas_i)
[1] 875000
> nrow(tas)
NULL
> tas_i[1:6,]
  x tas year month_no
1 1  NA 1884        1
2 2  NA 1884        1
3 3  NA 1884        1
4 4  NA 1884        1
5 5  NA 1884        1
6 6  NA 1884        1
> tas[1:6,]
Error in tas[1:6,] : incorrect number of dimensions
class(tas)
[1] "list"
> class(tas_i)
[1] "data.frame"

请注意,如果我执行 tas ,它可以正常工作并且 tas一个数据框

tas <- tas_i
class(tas)
[1] "data.frame"

强调文字

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。