小编A5C*_*2T1的帖子

如何更改reshape2包中的melt.data.frame函数将"变量"列返回到"字符"类?

melt.data.frame的默认行为是返回"factor"类中的"variable"列.这是一个例子:

> head(airquality)

  ozone solar.r wind temp month day
1    41     190  7.4   67     5   1
2    36     118  8.0   72     5   2
3    12     149 12.6   74     5   3
4    18     313 11.5   62     5   4
5    NA      NA 14.3   56     5   5
6    28      NA 14.9   66     5   6

> x = melt(head(airquality))
Using  as id variables

> head(x)
  variable value
1    ozone    41
2    ozone    36
3    ozone    12
4    ozone    18
5    ozone    NA
6    ozone …
Run Code Online (Sandbox Code Playgroud)

r reshape melt reshape2

12
推荐指数
2
解决办法
5388
查看次数

如何创建一个rownames变量?

我在R中有一个看起来像这样的对象:

                 returns   
2010-1-4    -0.015933327              
2010-1-11   -0.015042868    
2010-1-18    0.005350297  
2010-1-25   -0.049324703    
2010-2-1    -0.052674121  
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

        date       returns             
1 2010-01-04 -0.0159333272          
2 2010-01-11 -0.0150428685        
3 2010-01-18  0.0053502965        
4 2010-01-25 -0.0493247026       
5 2010-02-01 -0.0526741206        
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

r

12
推荐指数
1
解决办法
2万
查看次数

将dataframe列中的负值更改为绝对值

data.frame喜欢这样的:

    Col1   Col2   Col3   Col4      Col5      Col6
1   1982      0      0   -211       107         0
2   4412      0    989      0       296         0
3      0  -5051      0   -267       389       920
4      0  -2983      0   -215         0      1639
5      0  -1326      0   -861         0         0
6   3722      0     89      0       243     13349
Run Code Online (Sandbox Code Playgroud)

如何将负值更改为其绝对值?

r dataframe

12
推荐指数
2
解决办法
3万
查看次数

值的出现的累积序列

我有一个看起来像这样的数据集,其中一列可以有四个不同的值:

dataset <- data.frame(out = c("a","b","c","a","d","b","c","a","d","b","c","a"))
Run Code Online (Sandbox Code Playgroud)

在R中,我想创建第二列,按顺序计算包含特定值的累计行数.因此输出列将如下所示:

out
1
1
1
2
1
2
2
3
2
3
3
4
Run Code Online (Sandbox Code Playgroud)

r sequence

11
推荐指数
2
解决办法
4339
查看次数

合并data.frames汇总R中相同列的值

我有3个数据框(行:站点,列:物种名称)的站点内的物种丰富度.行号相同,但列号不同,因为并非所有物种都在所有三个数据帧中.我想将它们合并到一个数据框架中,总结出相同物种的丰富程度.例如:

data.frame1

       Sp1  Sp2  Sp3  Sp4
site1   1    2    3    1
site2   0    2    0    1
site3   1    1    1    1
Run Code Online (Sandbox Code Playgroud)

data.frame2

       Sp1  Sp2  Sp4
 site1  0    1    2
 site2  1    2    0
 site3  1    1    1
Run Code Online (Sandbox Code Playgroud)

data.frame3

       Sp1  Sp2  Sp5  Sp6
 site1  0    1    1    1     
 site2  1    1    1    5
 site3  2    0    0    0
Run Code Online (Sandbox Code Playgroud)

我想拥有的是:

       Sp1  Sp2  Sp3  Sp4  Sp5  Sp6
 site1  1    4    3    3    1    1
 site2  2    5    0    1    1    5
 site3  4 …
Run Code Online (Sandbox Code Playgroud)

merge aggregate r dataframe

11
推荐指数
3
解决办法
1万
查看次数

选择R中最后n列数据帧

有没有办法系统地选择数据框的最后一列?我希望能够将最后一列移动到第一列,但在移动时保持列的顺序.我需要一种方法来做到这一点,它不会列出使用子集的所有列(数据,选择= C(在新秩序中列出的所有列)),因为我将使用许多不同的数据帧.

这是一个示例,我想将最后两列移动到数据框的前面.它有效,但它很难看.

A = rep("A", 5)
B = rep("B", 5)
num1 = c(1:5)
num2 = c(36:40)

mydata2 = data.frame(num1, num2, A, B)

# Move A and B to the front of mydata2
mydata2_move = data.frame(A = mydata2$A, B = mydata2$B, mydata2[,1:    (ncol(mydata2)-2)])

#  A B num1 num2
#1 A B    1   36
#2 A B    2   37
#3 A B    3   38
#4 A B    4   39
#5 A B    5   40
Run Code Online (Sandbox Code Playgroud)

更改原始数据框中的列数会导致问题.这有效(见下文),但命名被抛弃了.为什么这两个例子表现不同?有没有更好的方法来做到这一点,并推广它?

mydata1_move = data.frame(A = …
Run Code Online (Sandbox Code Playgroud)

indexing r dataframe

11
推荐指数
2
解决办法
2万
查看次数

拆分一串连接的逗号分隔数据并将输出重新编码为因子

我正在尝试清理一些输入错误的数据.变量的问题允许五个选项中的多个响应,编号为1到5.数据已按以下方式输入(这只是一个示例 - 实际数据中有更多变量和更多观察值帧):

data
          V1
1    1, 2, 3
2    1, 2, 4
3 2, 3, 4, 5
4    1, 3, 4
5    1, 3, 5
6 2, 3, 4, 5
Run Code Online (Sandbox Code Playgroud)

以下是重新创建示例数据的一些代码:

data = data.frame(V1 = c("1, 2, 3", "1, 2, 4", "2, 3, 4, 5", 
                         "1, 3, 4", "1, 3, 5", "2, 3, 4, 5"))
Run Code Online (Sandbox Code Playgroud)

我真正需要的是要处理的数据更多...二进制 - 就像一组"是/否"问题 - 输入一个看起来更像的数据框:

data
    V1.1  V1.2  V1.3  V1.4  V1.5
1      1     1     1    NA    NA
2      1     1    NA     1    NA
3 …
Run Code Online (Sandbox Code Playgroud)

split r

10
推荐指数
2
解决办法
3800
查看次数

R:在同一数据表中合并行,连接某些列

我在R中有我的数据表.我想合并具有相同的行customerID,然后连接其他合并列的元素.

我想离开这个:

   title  author customerID
1 title1 author1          1
2 title2 author2          2
3 title3 author3          1
Run Code Online (Sandbox Code Playgroud)

对此:

           title           author Group.1
1 title1, title3 author1, author3       1
2         title2          author2       2
Run Code Online (Sandbox Code Playgroud)

merge r concatenation

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

在R中的lapply调用中将列表名称添加为绘图标题

sample <- 
structure(list(GB05 = structure(c(22L, 34L, 26L, 2L), .Dim = 4L, .Dimnames = structure(list(
    c("98", "100", "102", "106")), .Names = ""), class = "table"), 
    GB18 = structure(c(8L, 14L, 70L), .Dim = 3L, .Dimnames = structure(list(
        c("173", "175", "177")), .Names = ""), class = "table"), 
    GB06 = structure(c(2L, 16L, 48L, 10L, 10L, 6L), .Dim = 6L, .Dimnames = structure(list(
        c("234", "238", "240", "242", "244", "246")), .Names = ""), class = "table"), 
    GB27 = structure(c(2L, 28L, 2L, 2L, 4L, 3L, 2L, 2L, …
Run Code Online (Sandbox Code Playgroud)

plot r

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

从R中的data.frame中删除引号("")

我有一个包含多个列的data.frame,它们都是字符类.所有值都是双引号,我想删除这些引号.

df1      df2
"1203"   "Name1"
"2304"   "Name2"
Run Code Online (Sandbox Code Playgroud)

r

10
推荐指数
1
解决办法
3万
查看次数

标签 统计

r ×10

dataframe ×3

merge ×2

aggregate ×1

concatenation ×1

indexing ×1

melt ×1

plot ×1

reshape ×1

reshape2 ×1

sequence ×1

split ×1