data_active 是任何数据集.
理想情况下,当条件满足时,必须更改值.但是当我执行此代码时,它会将每个指定列中的值更改为if语句中给出的值.
for (i in 1:nrow(data_active))
{
if(data_active[i,1]==4866)
{
data_active$St="MH"
data_active$Reg="South Central"
data_active$REGION="South"
data_active$Market="86"
}
}
Run Code Online (Sandbox Code Playgroud) 我在R中有下表.我想转置它.我是R的新手并且一直在使用SAS.
所以我想要一个proc transpose的副本是SAS.我也以我想要的格式提供输出.
C_number<-c(1:20)
REG<-letters[1:20]
Market<-c(21:40)
DF<-data.frame(C_number,REG,Market)
n <- nrow(DF)
DF$A_count <- sample(100, n, replace=TRUE)
DF$B_count <- sample(100, n, replace=TRUE)
Run Code Online (Sandbox Code Playgroud)
OUTPUT应该是:
C_number REG Market Name of former variable Mem_count1
1 A 21 A_count 5
1 A 21 B_count 80
2 B 22 A_count 36
2 B 22 B_count 56
3 C 23 A_count 77
3 C 23 B_count 26
Run Code Online (Sandbox Code Playgroud)
因此,转置背后的基本思想是将两列A_count和B_count转换为一个名为"前变量名称"的列,并创建一个新列mem_count1,它将给出相应的值.
它不完全是一个转置,但有点类似.我不知道如何做到这一点.请帮我解决这个问题.