标签: data-manipulation

如何将每行两列的最小值和最大值绘制为散点图

我有一个看起来像这样的数据框:

| id | length_bgn | length_end |
--------------------------------
| 1  |   209      |    215     |
| 2  |   324      |    125     |
| 3  |   167      |    156     |
| .. |   ...      |    ...     |
--------------------------------
Run Code Online (Sandbox Code Playgroud)

我想制作一个散点图,其中 X 轴上的长度(每行)的最小值和 Y 轴上的每行的最大值。我努力了:

qplot(min(length_bgn, length_end), max(length_bgn, length_end), data=df)
Run Code Online (Sandbox Code Playgroud)

然而,这将绘制两列的最小值与两列的最大值的单个点。我使用了错误的功能吗?或者以某种方式操纵数据框会更好吗?请原谅我的天真,我对 R 和 ggplot2 还很陌生。

任何帮助将非常感激。

编辑:使用上述代码的示例图:

示例散点图

r data-manipulation ggplot2

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

在R中编写"查找和替换"的通用函数

我需要为"在R中查找和替换"编写一个通用函数.如何编写采用以下输入的函数

  • CSV文件(或数据框)
  • 要查找的字符串,例如"name@email.com"
  • 一个字符串替换找到的字符串,例如"medium"

并重写CSV文件/数据框,以便用替换字符串替换所有找到的字符串?

r data-manipulation

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

R:根据多列中的值添加零行

我试图将行追加到R df.这是df foo的一个例子:

A   B   C   D
1   1   1   200
1   1   2   50
1   1   3   15
1   2   1   150
1   2   4   50
1   3   1   300
2   1   2   40
2   1   4   90
2   3   2   80
Run Code Online (Sandbox Code Playgroud)

对于每个A,有3个可能的B值,并且对于每个B,有4个可能的C值.但是,初始df仅包含D的非零值.我想操纵df使得零对于B和C都包括在内.因此,对于任何0的B/C值,df将在D中显示0.我已经看到用一列来解决这个问题的问题,但找不到用多个问题解决它的问题列.最终的df看起来像这样:

A   B   C   D
1   1   1   200
1   1   2   50
1   1   3   15
1   1   4   0
1   2   1   150
1   2   2   0
1   2   3   0
1   2   4   50 …
Run Code Online (Sandbox Code Playgroud)

if-statement r data-manipulation zero

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

结合相同维度的矩阵

我有两个相同维度的矩阵,用NA和字符串填充.例如,

structure(c("Y1", "Y1", "Y1", NA, NA, NA, NA, NA, NA, NA, NA, 
NA, "Y1", "Y1", "Y1", "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, 
"Y1", "Y1", "Y1", "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, NA, 
NA, NA, "Y2", NA, "Y2", NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, "Y2", NA, "Y2", NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
Run Code Online (Sandbox Code Playgroud)

r data-manipulation matrix

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

如何将完整的州名转换为缩写?

我有一个数据框A,其中一列名为"states".各州以其全名记录,例如."加利福尼亚".每个州都有多行.

我有一个数据框B,它有每个州的枪死数.状态以缩写记录,例如."CA"

我想要的是:我希望A中的每一行都有相应状态的枪死数.我打算为此使用dplyr :: inner_join().

但当然,问题在于不同数据框中的状态名称是不同的.

使名称匹配的最佳方法是什么?

r data-manipulation

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

在 R 中将四列特殊连接成新的两列

我在R工作,我有一个有趣的问题。我想转换下一个数据帧:

DF = data.frame(ID = c(1, 2, 3),
              Person1 = c("Devin Davey", "Rui Butt", "Keon Dotson"),
              Sign = "artist",
              Person2 = c("Eli Greer", "Alvin Simons", "Leona Ford"),
              Sex = c("female", "male", "female"),
              Score = c(10, 20, 30)) 



  ID     Person1   Sign      Person2    Sex Score
1  1 Devin Davey artist    Eli Greer female    10
2  2    Rui Butt artist Alvin Simons   male    20
3  3 Keon Dotson artist   Leona Ford female    30
Run Code Online (Sandbox Code Playgroud)

像这样格式化:

  ID         Name   Sign Score
1  1  Devin …
Run Code Online (Sandbox Code Playgroud)

r data-manipulation dplyr tidyr tidyverse

0
推荐指数
2
解决办法
58
查看次数

将数据框中的所有值更改为 NA 或 0

如何将数据集中的所有值更改为 NA 或 0,同时保留所有列名,理想情况下,保留相同的数据结构。

r data-manipulation dataframe

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

如何从文件中获取浮点数

我有这个文件 txt 有这三个数字“4.151120 4.100 7.9999”。我应该创建一个程序来读取它并对其进行一些进一步的操作。但我不能

int main (int argc, char *argv[]){
    FILE *arq;
    
    arq = fopen("values.txt","r");
    
    float num1, num2, num3;
    
    fscanf(arq,"%.6f %.6f %.6f", &num1, &num2, &num3);
    printf("%.6f %.6f %.6f", num1, num2, num3);
    
    fclose(arq);
    
    return 0;
    
Run Code Online (Sandbox Code Playgroud)

c data-manipulation

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

如何组合包含小标题的列表?

以下是包含 tibbels 的列表:

test=list()
l <- list(list(var = "bb",b =  2, c = 3, d = 5), list(var = "a", b = 3, c  = 2,  d = 4))

l2 <- map(l,~data.frame(.))
l3 <-map_dfr(l2,~mutate_all(.,as.character))  
l4<-as_tibble(l3)
test[[1]]=l4
names(test)[1]="par"
test[[2]]=l4
names(test)[2]="mas"

myli=list()
myli[[1]]=l4
names(myli)[1]="par"
myli[[2]]=l4
names(myli)[2]="mas"
Run Code Online (Sandbox Code Playgroud)

我想提取名称、var 和 d 并组合:

我需要的输出是这样的:

  var        value    list     name 
  bb         5         test    par
  a          4         test    par
  bb         5         test    mas 
  a          4         test    mas
  bb         5         myli    par
  a          4         myli    par
  bb         5         myli …
Run Code Online (Sandbox Code Playgroud)

r list data-manipulation tibble

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

R - 数据帧(group_by/aggregate/pivot_wider)操作

我目前在操作/聚合我的数据框时遇到问题。我当前的数据框如下:

农场 奶牛 鸭子
农场 1 2020年 22 12 100 30 25
农场 1 2020年 0 12 120 20 20
农场 1 2019年 16 6 80 10 16
农场 1 2019年 12 0 50 0 11
农场 1 2018年 8 0 0 16 0
农场 1 2018年 0 0 10 13 12
农场2 2020年 31 28 27 10 14
农场2 2020年 0 13 31 20 0
农场2 2019年 3 31 0 20 43
农场2 2019年 20 …

group-by aggregate r data-manipulation dataframe

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

R:用数字替换因子变量

我正在使用 R 编程语言。

我有以下数据集:

factor_1 <- c("A", "B", "C", "D", "E")
factor_2 <- c("AA", "BB", "CC", "DD", "EE")
factor_3 <- c("AAA", "BBB", "CCC", "DDD", "EEE")

var_1 <- as.factor(sample(factor_1, 10000, replace=TRUE, prob=c(0.2, 0.2, 0.2, 0.2, 0.2)))
var_2 <- as.factor(sample(factor_2, 10000, replace=TRUE, prob=c(0.2, 0.2, 0.2, 0.2, 0.2)))
var_3 <- as.factor(sample(factor_3, 10000, replace=TRUE, prob=c(0.2, 0.2, 0.2, 0.2, 0.2)))
var_4 <- rnorm(1000,10,10)
var_5 <- rnorm(1000,10,10)

my_data = data.frame(var_1, var_2, var_3, var_4, var_5)

  var_1 var_2 var_3     var_4     var_5
1     B    AA   EEE 13.645347 13.058532
2 …
Run Code Online (Sandbox Code Playgroud)

lookup r data-manipulation dataframe

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

根据位数查找行

我正在处理一个有 2000 行的数据框,但为此目的,我创建了这个简单的数据框,我想在其中查找 col2 列中包含 3 个或更少数字的所有行。这是数据框:

\n
d = {'col1': [10000, 2000,300,4000,50000], 'col2': [10, 20000, 300, 4000, 100]}\ndf = pd.DataFrame(data=d)\n\n    col1    col2\n0   10000   10\n1   2000    20000\n2   300     300\n3   4000    4000\n4   50000   100\n\nArea     int64\nPrice    int64\ndtype: object\n
Run Code Online (Sandbox Code Playgroud)\n

之后,我想创建一个新列 col3,其中来自那些过滤行(具有 3 个或更少数字)的 col2 列的值将乘以它们的值 \xe2\x80\x8b\xe2\x80\x8b 来自 col1 列,而其他行保持不变。

\n

这是预期的输出:

\n
    col1    col2    col3\n0   10000   10      100000\n1   2000    20000   20000\n2   300     300     90000\n3   4000    4000    4000\n4   5000    100     500000\n\ncol1    int64\ncol2    int64\ncol3    int64\ndtype: object\n
Run Code Online (Sandbox Code Playgroud)\n

提前致谢!

\n

python data-manipulation dataframe pandas

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

使用sed删除两个匹配模式之间的所有行,包括匹配的行

我需要删除文件中匹配的特定模式和匹配的行之间的行。

在下面的代码中,我要删除对象Host“ kali” {中的行到下一次出现的}(而不是最后一次出现的})。并在删除后删除空白区域。

object Host "linux" {
import "windows"
address = "linux"
groups = ["linux"]
}


object Host "kali" {
import "linux"
address = "linux"
groups = [linux ]
}


object Host "windows" {
import "linux"
address = "linux"
groups = ["windows" ]
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码

clear
echo -e  "Enter the host to delete in config file"
cat > deletionfile.txt
clear
while read host
do
loc=`grep -il 'object.*Host.*"$host"' /home/afrith/config-file/*.conf`
sed -i "/^object.*Host.*\"$host\".*{$/,/^}$/d" $loc
done < deletionfile.txt …
Run Code Online (Sandbox Code Playgroud)

shell awk sed data-manipulation

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