相关疑难解决方法(0)

案例陈述相当于R

我在数据框中有一个变量,其中一个字段通常有7-8个值.我想在数据框中的一个新变量中将它们拼写为3或4个新类别.什么是最好的方法?

如果我在类似SQL的工具中但是不确定如何在R中攻击它,我将使用CASE语句.

您将提供的任何帮助将不胜感激!

r case

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

如何一次替换多个值

我想一次用特定的其他值替换向量中的不同值.

在我正在解决的问题中:

  • 1应该替换为2,
  • 2与4,
  • 3与6,
  • 4与8,
  • 5与1,
  • 6与3,
  • 7与5和
  • 8与7.

以便:

x <- c(4, 2, 0, 7, 5, 7, 8, 9)
x
[1] 4 2 0 7 5 7 8 9
Run Code Online (Sandbox Code Playgroud)

将被转换为:

[1] 8 4 0 5 1 5 7 9
Run Code Online (Sandbox Code Playgroud)

更换后.

我尝试过使用:

x[x == 1] <- 2
x[x == 2] <- 4
Run Code Online (Sandbox Code Playgroud)

等等,但这导致1被7替换.

没有使用任何软件包,这个问题最简单的解决方案是什么?

r

7
推荐指数
2
解决办法
1743
查看次数

如何在R中的数据框中添加列

我已经将文件中的数据导入到R中的数据框中.就像这样.

Name      Count   Category
A         100     Cat1
C         10      Cat2
D         40      Cat1 
E         30      Cat3
H         3       Cat3
Z         20      Cat2
M         50      Cat10
Run Code Online (Sandbox Code Playgroud)

所以现在我想添加Category列,具体取决于Name列中的值.如果Name =(A,D),Category ='Cat1'等等.

这只是我给出的一个简单例子.我有大量的名称和类别,所以我想要一个紧凑的语法.我怎样才能做到这一点?

编辑:我已经更改了示例以更好地满足我的需求,因为名称可以是任何数字.很抱歉以前不太清楚.

r

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

如何在数据帧中用0和0替换Ones和0

我有一个数据帧df.我想用数据帧中的零和全部替换所有零.或者一般来说,如果我必须找到一些值(比如一个)并用其他东西替换值,那么最好的方法是什么?

  a b
1 1 0
2 0 1
3 1 0
4 0 0
Run Code Online (Sandbox Code Playgroud)

replace r dataframe

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

跨数据帧将 Likert 数据转换为数字

我有一个数据集,其中包含对 Likert Items 的 90 个响应,我想将其转换为数值。它的结构类似于此处的示例:

q6 <- c("Daily", "Never", "Often", "Very Often", "Daily")
q7 <- c("Never", "Never", "Often", "Often", "Daily")
q23 <- c("Daily", "Often", "Never", "Never", "Neutral")
q17 <- c("Important", "Important", "Very Important", "Neutral", "Not Important")
example <- cbind(q6, q7, q17, q23)
Run Code Online (Sandbox Code Playgroud)

对每个问题的回答略有不同,但主要是在“非常不同意”到“非常同意”、“每天”到“从不”或“重要”到“不重要”的范围内。90 个问题的每个答案都在单独的列中(标记为 q1 > q90)。我想为一组响应创建新列,其数值对应于文本响应(强烈同意(3)到强烈不同意(-3),通过中性(0))。像这样

q6 <- c("Daily", "Never", "Often", "Very Often", "Daily")
n6 <- c(3,-3,1,2,3)
q17 <- c("Important", "Important", "Very Important", "Neutral", "Not Important")
n17 <- c(2,2,3,0,-3)
num_example <- cbind(q6, n6, q17, n17)
num_example
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经使用下面的代码,它生成了一个名为 n6 …

if-statement r cbind

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

是否有替代的 r 基函数来替代ivot_wider?

我有以下类型的表:

经济特区 班级 瓦尔
1_1_1 1 2
1_1_1 5 2
1_1_2 5 2
1_1_3 1 1
1_1_3 5 2
1_1_4 1 1
1_1_5 2 1
1_2_1 1 2
1_2_1 5 2

为了将“Class”列分散到多个新列中,从“Val”列中获取价值,我使用了pivot_wider,一切顺利。我输入了这段代码:

pivot_wider(names_from = Class, values_from = Val, names_sort=T, values_fill = list(n = 0))

得到这样的结果:

塞兹 1 2 3 4 5 6 7
1_1_1 2 0 0 0 2 0 0
1_1_2 0 0 0 0 2 0 0
1_1_3 1 0 0 0 2 0 0

不幸的是,我必须使用外部计算机,其中仅存在基本的 R 包,并且请求附加包的时间并不短。 …

pivot r

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

使用R在Excel工作表中清理数据

我有Excel表格中的数据,我需要一种方法来清理它.我想删除不一致的值,如分支名称被指定为(计算机科学与工程,CSE,CS,计算机科学).那么我怎样才能将它们全部带入单一符号?

excel r

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

执行大号 无需使用 for 循环即可高效迭代

我有一个包含如下数字元素的向量:

jnk1<-c(0,2,1,3,4,2,1,2)
Run Code Online (Sandbox Code Playgroud)

在另一个字符向量中,我想分配与数字向量 jnk1 的每个元素相对应的颜色。

m<-c("red","green","blue","brown","purple","green","blue","green")
Run Code Online (Sandbox Code Playgroud)

我已经使用 for 循环编写了以下代码来自动化该过程:

m<-as.character()
for (i in 1:length(jnk1)){
for (j in 1:length(jnk1)){
for (k in 1:length(jnk1)){
for (l in 1:length(jnk1)){
for (o in 1:length(jnk1)){
if (jnk1[i]==0){
m[i]<-c("red")}
if (jnk1[j]==1){
m[j]<-c("blue")}
if (jnk1[k]==2){
m[k]<-c("green")}
if (jnk1[l]==3){
m[l]<-c("brown")}
if (jnk1[o]==4){
m[o]<-c("purple")}}}}}}
Run Code Online (Sandbox Code Playgroud)

上面的代码完成了少量迭代的工作,但对于较大的迭代,它是非常低效和耗时的。是否可以使用更高效的代码完成工作?

r

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

标签 统计

r ×8

case ×1

cbind ×1

dataframe ×1

excel ×1

if-statement ×1

pivot ×1

replace ×1