小编Bob*_*Bob的帖子

将行作为单个列放在r中

我有以下data.frame x

a d g
b e h
c f i
Run Code Online (Sandbox Code Playgroud)

注意:以字母为例.实际的data.frame有数字代替字母(实际数据不按升序排列,如本例所示)

我希望通过在第一列中放置2到4列来将其转换为唯一列.预期结果如下

a
b
c
d
e
f
g
h
i
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码

matrix(t(x), ncol=1, nrow=ncol(x)*nrow(x), byrow=F)
Run Code Online (Sandbox Code Playgroud)

但它(显然)给出了以下内容

a
d 
g
b
e
h
c
f
i
Run Code Online (Sandbox Code Playgroud)

r reshape

6
推荐指数
1
解决办法
4280
查看次数

如何在r中创建一个消除歧义字符串的唯一ID?

我有一个包含三个变量(State,Zipcode,Name)的大型数据集.这里有一个小提取:

zz <- "State Zipcode Name
IL  60693 THISISTHEFIRST  
IL 60693 TISISTHEFIRS    
OH  45271 THISISTHEFIRST  
CA 94085 THISISTHESECOND  
CA 94085 THISISTHESECOND  
CA 94085 THISISTHESECCOND 
SC 29645 THISISTHETHIRD  
SC 29645 THISISTHETHIRD  
SC 29645 THISISTHETHIRD  
SC 29645 THISISTHEFOURTH  
SC 29645 ISISTHEFOURTH"

Data <- read.table(text=zz, header = TRUE)
Run Code Online (Sandbox Code Playgroud)

我需要创建一个唯一的ID,用于以相同的State,Zipcode,Name为特征的观察.然而,有些名字拼写错误,即使它们确实代表同一主题(例如THISISTHEFIRST与TISISTHEFIRS)

我想最终得到这样的东西:

State Zipcode Name ID
IL 60693 THISISTHEFIRST 1
IL 60693 TISISTHEFIRS 1
OH 45271 THISISTHEFIRST 2
CA 94085 THISISTHESECOND 3
CA 94085 THISISTHESECOND 3
CA 94085 THISISTHESECCOND 3
WI 53022 THISISTHETHIRD 4
WI …
Run Code Online (Sandbox Code Playgroud)

database r

4
推荐指数
1
解决办法
162
查看次数

根据R中矩阵中的数据创建虚拟变量

我有一个数据框,有1000个观察属于n个不同的国家.每个国家有超过1个观察,每个国家的观察数量不同.我需要创建一个数字从(1到n-1)的列,每个数字对应一个不同的国家.也就是说,我正在创建一个虚拟变量,我不关心哪个国家/地区有哪个数字.我只需要创造这样的假人.我的数据是这样的

  Region     x
1    be1 71615
4  be211 54288
5  be112 51158
6  it213 69856
8  it221 71412
9  uk222 79537
10 de101 94827
11 de10a 98273
12 dea10 92827
..    ..    ..
Run Code Online (Sandbox Code Playgroud)

每个国家/地区在列区域中都有自己的"代码",例如beXXXX与比利时相关,ukXXX与英国相关,依此类推.因此,我想我可以利用列Region中的最初2个字母来创建我的假人.我从这里知道命令grep()可以完成这项任务,但我需要有一个脚本,只要Region的首字母发生变化,它就会自动从1切换到n-1.

预期的输出应该是这样的

 Region     x   Dummy
1    be1 71615      1
4  be211 54288      1
5  be112 51158      1
6  it213 69856      2
8  it221 71412      2
9  uk222 79537      3
10 de101 94827      4
11 de10a 98273      4
12 dea10 92827      4 …
Run Code Online (Sandbox Code Playgroud)

grep r

1
推荐指数
1
解决办法
376
查看次数

标签 统计

r ×3

database ×1

grep ×1

reshape ×1