首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RDS包转换R数据帧:招聘id错误?

用RDS包转换R数据帧:招聘id错误?
EN

Stack Overflow用户
提问于 2014-07-26 14:27:56
回答 1查看 648关注 0票数 2

我正在使用RDS软件包作为被调查者驱动的抽样调查数据.我想把一个普通的R数据帧转换成一个rds.data.frame。为此,我一直在尝试使用来自RDS的as.rds.data.frame函数。

这里是我的数据框架的摘录部分,第一个案例(id=1)是“seed”应答者(没有招聘人员)。它包含变量: id (应答者id号)、recruit.id(招募他/她的应答者id号)、netsize (被访者网络大小)和人口(估计整个人口规模)。

代码语言:javascript
复制
     df<-data.frame(id=c(1,2,3,4,5,6,7,8,9,10),
                    recruit.id=c(-1,1,1,2,2,4,5,3,8,3),
                    netsize=c(6,6,6,5,5,4,4,3,4,6), population=rep(22,000, 10))

然后我(试着)应用相关的功能:

代码语言:javascript
复制
   new.df <-as.rds.data.frame(df,id=df$id, 
                              recruiter.id=df$recruit.id,
                              network.size=df$netsize,
                              population.size=df$population, 
                              max.coupons=2)

我得到了错误消息:

As.rds.data.frame中的错误(df,id = df$ id,recruiter.id = df$recruit.id,:无效id

以及警告

此外:警告消息: if (!(%name(X)中的id%))停止(“无效id"):条件长度>1,只使用第一个元素

我曾尝试为种子参与者分配各种“招聘人员id”值,包括-1,0或他们自己的id号,但我仍然收到相同的消息。我也尝试过删除函数参数(coupon.max,population)或删除种子应答者,但我仍然收到相同的消息。

软件包文档表示,如果招聘信息不完整,该功能将失败。据我所知,情况并非如此。

我是新来的,所以如果有人能为我指明正确的方向,我将非常感激。

EN

回答 1

Stack Overflow用户

发布于 2014-07-26 14:42:38

这似乎是可行的:

代码语言:javascript
复制
 colnames(df)[2:4] <- c("recruiter.id", "network.size.variable", "population.size")
 as.rds.data.frame(df,max.coupons=2)

这会给出一个警告的结果。

代码语言:javascript
复制
 as.rds.data.frame(df, id="id", recruiter.id="recruit.id",
    network.size="netsize", population.size="population", max.coupons=2)
  # An object of class "rds.data.frame"

 #id:  1 2 3 4 5 6 7 8 9 10 

 #recruiter.id:  -1 1 1 2 2 4 5 3 8 3 

 #   id recruit.id netsize population
 #1   1         -1       6         22
 #2   2          1       6         22
 #3   3          1       6         22
 #4   4          2       5         22
 #5   5          2       5         22
 #6   6          4       4         22
 #7   7          5       4         22
 #8   8          3       3         22
 #9   9          8       4         22
 #10 10          3       6         22


# Warning message:
#In as.rds.data.frame(df, id = "id", recruiter.id = "recruit.id",  :
#NAs introduced by coercion
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24972033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档