在 r 中将一个数据帧的内容传递给另一个数据帧
pass the content of one data frame to another in r
我目前正在学习 R,以便在我的大学写论文。
在我的项目中,我有一个包含 2 列和 6001 行的数据框。在我的第一列中,我有从 10000,9999,9998 到 4000 的数字,在第二列中我有数字元素。在我看来,我想做一些非常简单的事情。我想创建第二个数据框,其大小是原始数据框的一半,其中包含第一列的偶数和第二列的数字。
我尝试了一些没有按计划进行的脚本。我的第一个脚本是:ifelse(tkk[1] %% 2 == 0, tkal<-tkk, 0)
。然后我尝试了这个:
tkal <-case_when((tkk[1]%%2 ==0)~ tkk)
。但是我的两个脚本都没有 运行 或者没有我想要的结果。
你们有没有解决方案或更好的主意让我可以解决这个简单的任务?
提前谢谢你
如果 tkk 是您的数据框,您可以执行以下操作
tkk[tkk[,1]%%2==0,]
这 returns 数据框的所有列,其中第一列具有偶数值。
我使用的代码:
tkk=data.frame(1:20,rep(1,20))
tkk[tkk[,1]%%2==0,]
#2 2 1
#4 4 1
#6 6 1
#8 8 1
#10 10 1
#12 12 1
#14 14 1
#16 16 1
#18 18 1
#20 20 1
尝试tkk2 <- dplyr::filter(tkk, first_column %% 2 == 0)
请注意,第二列不需要任何条件,因为 R 假定 data.frame
中的列具有唯一类型。
您正在寻找子集。如果你有 NA 值,我建议使用 which()
。
tkal <- tkk[which(tkk[[1]] %% 2 ==0),]
我目前正在学习 R,以便在我的大学写论文。
在我的项目中,我有一个包含 2 列和 6001 行的数据框。在我的第一列中,我有从 10000,9999,9998 到 4000 的数字,在第二列中我有数字元素。在我看来,我想做一些非常简单的事情。我想创建第二个数据框,其大小是原始数据框的一半,其中包含第一列的偶数和第二列的数字。
我尝试了一些没有按计划进行的脚本。我的第一个脚本是:ifelse(tkk[1] %% 2 == 0, tkal<-tkk, 0)
。然后我尝试了这个:
tkal <-case_when((tkk[1]%%2 ==0)~ tkk)
。但是我的两个脚本都没有 运行 或者没有我想要的结果。
你们有没有解决方案或更好的主意让我可以解决这个简单的任务?
提前谢谢你
如果 tkk 是您的数据框,您可以执行以下操作
tkk[tkk[,1]%%2==0,]
这 returns 数据框的所有列,其中第一列具有偶数值。
我使用的代码:
tkk=data.frame(1:20,rep(1,20))
tkk[tkk[,1]%%2==0,]
#2 2 1
#4 4 1
#6 6 1
#8 8 1
#10 10 1
#12 12 1
#14 14 1
#16 16 1
#18 18 1
#20 20 1
尝试tkk2 <- dplyr::filter(tkk, first_column %% 2 == 0)
请注意,第二列不需要任何条件,因为 R 假定 data.frame
中的列具有唯一类型。
您正在寻找子集。如果你有 NA 值,我建议使用 which()
。
tkal <- tkk[which(tkk[[1]] %% 2 ==0),]