![](/img/trans.png)
[英]Subsetting Dataset in R based on the number of observations that meet criteria. [R]
[英]Copy observations based on the row number in R
我的数据框(x)是:
c1 c2
Aa 02
Bb 03
Cc 02
我想创建一个列c3,根据c2中的行号复制c1中的观察:
c1 c2 c3
Aa 02 Bb
Bb 03 Cc
Cc 02 Bb
我正在使用base R,我无法下载软件包。
谢谢!
使用此数据:
x = read.table(text = 'c1 c2
Aa 02
Bb 03
Cc 02 ', header = T)
这是一个解决方案:
x$c3 = x$c1[as.numeric(as.character(x$c2))]
# c1 c2 c3
# 1 Aa 2 Bb
# 2 Bb 3 Cc
# 3 Cc 2 Bb
as.numeric(as.character())
是一种将某些东西转换为数字的非常安全的方法 - 无论源是factor
还是character
(或已经是numeric
),它都将起作用。 虽然如果你看一下class(x$c2)
你可以更明智地了解需要什么样的转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.