我从另一个源导入数据到R中(即,我不能轻易更改输入的格式/值)。
在变量中,有一个变量包括一个或多个这些可能的值:
- 母亲(生母、养母、继母等)
- 父亲(生父、养父、继父等)
- 祖父母(亲生、寄养、继父母等)
- 18岁以上的兄弟
- 18岁以上的姐妹
- 其他成年人(阿姨、叔叔等)
所有这些都在同一个“单元格”中,因此可能的数据看起来像:
样本输入 Dataframe (df)
df <- read.table(text =
"row lives.with.whom
1 'Mother (biological mother, foster mother, step mother, etc.), Father (biological father, foster father, step father, etc.), Grandparent(s) (biological, foster, step, etc.), Brother(s) older than 18, Sister(s) older than 18, Other adults (aunts, uncles, etc.)'
2 ''
3 'Mother (biological mother, foster mother, step mother, etc.), Sister(s) older than 18'
4 'Mother (biological mother, foster mother, step mother, etc.), Father (biological father, foster father, step father, etc.)'", header = T)
字符串
在R
中,我如何有效地创建规则来将这些响应解析到单独的列中,每种类型的家庭成员一列,以便输出如下所示:
输出 Dataframe 样本
mother <- c(1,0,1,1)
father <- c(1,0,0,1)
adult.brother <- c(1,0,0,0)
adult.sister <- c(1,0,1,0)
grandparent <- c(1,0,0,0)
other.adult <- c(1,0,0,0)
output.df <- cbind(mother, father, adult.brother, adult.sister, grandparent, other.adult)
colnames(output.df) <- c("Mother", "Father", "Brother", "Sister", "Grandparent", "Other adult")
output.df
Mother Father Brother Sister Grandparent Other adult
[1,] 1 1 1 1 1 1
[2,] 0 0 0 0 0 0
[3,] 1 0 0 1 0 0
[4,] 1 1 0 0 0 0
型
3条答案
按热度按时间5anewei61#
下面是一个
tidyverse
选项,可以帮助您入门字符串
示例数据
型
1qczuiv02#
试试这个:
字符串
vs91vp4v3#
我做了一些假设,并试图解决它。
字符串
这里有tidyverse和data.table的链接,它们包含了很多包和函数,可以解决大多数数据木工/争论问题。